.hero-section {
			padding-top: 7.75rem;
			padding-bottom: 1.875rem;
			position: relative;
			z-index: 0;
			overflow-x: clip;
		}

		.hero-section::before {
			content: '';
			position: absolute;
			left: 0rem;
			bottom: -10rem;
			width: 30.9375rem;
			height: 28.125rem;
			background: url('../images/home/home-bg-1.svg') no-repeat left bottom / contain;
			pointer-events: none;
			z-index: 0;
		}

		.hero-shell {
			min-height: 46.75rem;
			z-index: 1;
		}

		.hero-image-inner {
			width: 100%;
			/* height: 46.75rem; */
			overflow: visible;
		}

		.hero-image {
			display: block;
			width: 100%;
			height: auto;
		}

		.hero-sub-img-sp {
			display: none;
			width: 100%;
			height: auto;
		}

		.hero-image-inner img {
			width: 100%;
			height: auto;
			object-fit: cover;
			object-position: center;
			display: block;
		}

		.hero-badge-link {
			position: absolute;
			right: 1.25rem;
			bottom: -1.875rem;
			width: 9.375rem;
			height: auto;
			z-index: 2;
			display: block;
			filter: drop-shadow(0 1rem 1.75rem rgba(217, 107, 99, 0.28));
		}

		.hero-badge-link:hover {
			filter: drop-shadow(0 1rem 1.75rem rgba(217, 107, 99, 0.28));
		}

		.hero-badge-img {
			display: block;
			width: 100%;
			height: auto;
		}

		.floating-badge-link {
			position: fixed;
			right: max(1.5rem, env(safe-area-inset-right));
			bottom: max(1.5rem, env(safe-area-inset-bottom));
			width: 9.375rem;
			height: auto;
			display: none;
			z-index: 10000;
			pointer-events: auto;
			filter: drop-shadow(0 1rem 1.75rem rgba(217, 107, 99, 0.28));
		}

		.floating-badge-link.is-visible {
			display: block;
		}

		.floating-badge-img {
			display: block;
			width: 100%;
			height: auto;
		}

		.about-section {
			position: relative;
			z-index: 2;
			overflow-x: clip;
		}

		.about-bg-blob-yellow {
			position: absolute;
			right: -9.375rem;
			bottom: -9.375rem;
			width: 27.5625rem;
			height: 28.125rem;
			background: url('../images/home/home-bg-2.svg') no-repeat center / contain;
			z-index: -1;
		}

		.about-images {
			position: relative;
			max-width: 35.625rem;
			margin-left: 3.75rem;
			margin-top: 3.75rem;
			margin-bottom: 8.1771rem;
		}

		.about-img-main {
			border-radius: 2.5rem;
			box-shadow: 0 0.9375rem 1.875rem rgba(0, 0, 0, 0.08);
			width: 100%;
			aspect-ratio: 570 / 488;
			object-fit: cover;
		}

		.about-img-sub {
			position: absolute;
			bottom: -8.1771rem;
			left: -4.5774rem;
			width: 17.8861rem;
			border-radius: 1.25rem;
			/* box-shadow: 0 0.9375rem 1.875rem rgba(0, 0, 0, 0.15); */
			transform: rotate(-8deg);
		}

		.target-badge-yellow {
			position: absolute;
			top: -3.75rem;
			left: -3.75rem;
			background-color: var(--accent-yellow);
			color: var(--text-main);
			width: 9.375rem;
			height: 9.375rem;
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			text-align: center;
			font-weight: 700;
			font-size: 1rem;
			line-height: 1.4;
			z-index: 3;
			box-shadow: 0 0.625rem 1.25rem rgba(251, 230, 138, 0.4);
		}

		.about-text-content {
			position: relative;
			max-width: 32.875rem;
			/* padding-top: 3.0938rem; */
			padding-top: 1rem;
		}

		.kids-running-illustration {
			position: absolute;
			bottom: 100%;
			right: 0;
			width: 11.25rem;
			height: auto;
			object-fit: contain;
		}

		.about-text-content h2 {
			font-size: 1.75rem;
			font-weight: 700;
			margin-bottom: 0.5rem;
			color: var(--text-main);
		}

		.about-text-content h3 {
			font-size: 2.5rem;
			font-weight: 900;
			margin-bottom: 2.5rem;
			line-height: 1.3;
		}

		.target-section {
			background-color: #ffffff;
			position: relative;
			z-index: 1;
		}

		.target-grid {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			gap: 1.35rem;
			margin-top: 2.5rem;
		}

		.target-item {
			width: 12rem;
			display: flex;
			justify-content: center;
		}

		.target-card {
			background: #faf8f6;
			border-radius: 50%;
			width: 12rem;
			height: 12rem;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			text-align: center;
			box-shadow: none;
			padding: 1.25rem;
		}

		.target-card .icon-placeholder {
			width: 3.75rem;
			height: 3.75rem;
			margin-bottom: 0.75rem;
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.target-card p {
			font-weight: 700;
			margin: 0;
			font-size: 0.85rem;
			line-height: 1.5;
			letter-spacing: 0.05em;
		}

		.concept-section {
			background-color: #ffffff;
			position: relative;
		}

		.about-concept {
			padding-bottom: 7.5rem;
			position: relative;
			z-index: 19;
		}

		.about-concept-shell {
			position: relative;
			padding: 5rem 5rem 4.5rem;
			border-radius: 2.5rem;
			background: #faf8f6;
			overflow: visible;
		}

		.about-concept-illust-top,
		.about-concept-illust-bottom {
			position: absolute;
			pointer-events: none;
		}

		.about-concept-illust-top {
			top: -4.75rem;
			right: 1.75rem;
			width: 9rem;
		}

		.about-concept-illust-bottom {
			left: 1.5rem;
			bottom: -2.75rem;
			width: 6.5rem;
		}

		.about-concept .about-copy-block p {
			margin: 0;
			font-size: 1rem;
			line-height: 2.2;
			color: var(--text-main);
		}

		.location-card {
			border: none;
			border-radius: 0;
			overflow: visible;
			background: transparent;
			transition: transform 0.3s;
		}

		.location-card:hover {
			transform: translateY(-0.625rem);
		}

		.location-card img {
			border-radius: 2rem;
			height: 17.875rem;
			object-fit: cover;
			width: 100%;
		}

		.location-card-body {
			padding: 1.5rem 0 0;
			display: flex;
			align-items: center;
			justify-content: space-between;
			min-height: 4.25rem;
		}

		.location-area {
			font-size: 0.8rem;
			color: var(--primary-blue);
			margin-bottom: 0.3125rem;
		}

		.location-name {
			font-size: 1.3rem;
			font-weight: 400;
			margin: 0;
		}

		.location-name-school {
			font-weight: 700;
		}

		.location-arrow {
			width: 2rem;
			height: 2rem;
			display: flex;
			align-items: center;
			justify-content: center;
			flex: 0 0 auto;
		}

		.location-arrow img {
			width: 100%;
			height: 100%;
			display: block;
		}

		.news-list {
			list-style: none;
			padding: 0;
			margin: 0;
		}

		.news-filter-group {
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			max-width: none;
			gap: 0.5rem;
		}

		.news-filter-btn {
			background: #f5f5f5;
			border: 0;
			border-radius: 0.375rem;
			color: var(--text-main);
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: auto;
			min-width: 6rem;
			min-height: 1.75rem;
			padding: 0.25rem 0.75rem;
		}

		.news-filter-btn.active {
			background: var(--primary-blue);
			color: #fff;
		}

		.news-filter-btn.news-filter-btn-warning {
			background: var(--accent-yellow);
		}

		.news-filter-group-mobile {
			display: none;
		}

		.news-item {
			display: flex;
			align-items: center;
			padding: 0.9375rem 0 1rem;
			border-bottom: 0.0625rem dashed #dcdcdc;
		}

		.news-date {
			font-size: 0.9rem;
			color: var(--text-muted);
			width: 6.25rem;
		}

		.news-cat {
			font-size: 0.75rem;
			padding: 0.25rem 0.75rem;
			border-radius: 0.375rem;
			margin-right: 1.25rem;
			font-weight: 700;
			display: inline-block;
			text-align: center;
		}

		.cat-school {
			background-color: #f8f7f4;
			color: var(--text-main);
		}

		.news-title {
			font-size: 1.125rem;
			font-weight: 500;
			margin: 0;
			flex-grow: 1;
		}

		.tour-section {
			background-color: #fcfcfc;
			position: relative;
			z-index: 0;
			overflow-x: clip;
		}

		.tour-section-sp {
			display: none;
		}

		.tour-section::before {
			content: '';
			position: absolute;
			left: 0;
			bottom: -14rem;
			width: 30.9375rem;
			height: 28.125rem;
			background: url('../images/home/home-bg-3.svg') no-repeat left bottom / contain;
			pointer-events: none;
			z-index: 0;
		}

		.tour-section .container>.row {
			--bs-gutter-x: 3rem;
		}

		.tour-section .container {
			position: relative;
			z-index: 1;
		}

		.tour-vertical-text {
			writing-mode: vertical-rl;
			font-size: 2.375rem;
			font-weight: 900;
			line-height: 1.5;
			letter-spacing: 0.1em;
			margin: 0 auto;
		}

		.tour-section .col-lg-2 .img-fluid {
			width: 8.5625rem;
			max-width: none;
		}

		.tour-copy-block {
			max-width: 20rem;
		}

		.tour-middle-img {
			width: 15.3125rem;
			height: 9.5rem;
			max-width: 100%;
			object-fit: contain;
		}

		.tour-image-visual {
			position: relative;
			width: 100%;
			max-width: 35.625rem;
		}

		.tour-main-img {
			border-radius: 2.5rem;
		}

		.tour-secondary-img {
			position: absolute;
			right: -4.125rem;
			bottom: -5.6875rem;
			width: 17.8861rem;
			height: 15.7723rem;
			border-radius: 1.875rem;
			object-fit: cover;
			transform: rotate(8deg);
			/* box-shadow: 0 0.9375rem 2.1875rem rgba(0, 0, 0, 0.08); */
		}

		@media (min-width: 62rem) {
			.tour-section .col-lg-5.text-center {
				text-align: left !important;
			}

			.tour-section .col-lg-5.text-center .tour-copy-block {
				margin-left: 0 !important;
				margin-right: 0 !important;
			}

			.tour-section .col-lg-5.text-center .tour-middle-img {
				display: block;
				margin-left: 0;
				margin-right: 0;
			}
		}

		.voices-section {
			background-color: #FAF8F6;
			overflow: hidden;
			/* border-top-left-radius: 5rem; */
			/* border-top-right-radius: 5rem; */
			border-radius: 5rem;
			z-index: 10;
			position: relative;
		}

		.voices-swiper {
			width: 100%;
			overflow: visible !important;
		}

		.voice-card {
			background: #fff;
			border-radius: 1.25rem;
			padding: 2rem;
			width: min(35rem, calc(100vw - 6rem));
			box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.03);
			min-height: 24.375rem;
		}

		.voice-header {
			display: flex;
			align-items: center;
			gap: 0.9375rem;
			margin-bottom: 1.25rem;
		}

		.voice-avatar-wrap {
			width: 5rem;
			height: 5rem;
			overflow: hidden;
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			flex: 0 0 auto;
		}

		.voice-avatar {
			height: auto;
			max-width: none;
			display: block;
		}

		.voice-avatar-img-1 {
			width: 3.125rem;
		}

		.voice-avatar-img-2 {
			width: 3.3125rem;
		}

		.voice-grade {
			font-size: 1.375rem;
			font-weight: 700;
			margin: 0;
		}

		.voice-meta {
			font-size: 0.8125rem;
			color: var(--text-muted);
			margin: 0;
		}

		.voice-bubble {
			background: #fcfaf5;
			border-radius: 0.75rem;
			padding: 1.5rem 1.25rem;
			margin-top: 1.875rem;
			margin-bottom: 1.5625rem;
			position: relative;
			font-size: 0.9rem;
			color: var(--text-main);
			text-align: left;
		}

		.voice-bubble+.voice-bubble {
			margin-top: -0.625rem;
		}

		.voices-pagination {
			position: static !important;
			width: auto !important;
			margin: 0 !important;
		}

		.voices-nav-btn {
			width: 3.5rem;
			height: 3.5rem;
			background: #fff;
			border: none;
		}

		.voices-pagination-readout {
			font-size: 1.1rem;
			color: #333;
			letter-spacing: 0.2rem;
			min-width: 5.75rem;
		}

		.voice-label {
			position: absolute;
			font-size: 0.85rem;
			font-weight: 700;
			padding: 0.375rem 1.125rem;
			border-radius: 3.125rem;
			background-color: #fde792;
			color: var(--text-main);
			box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.03);
		}

		.label-parent {
			top: -1rem;
			left: 1.25rem;
		}

		.label-staff {
			bottom: -1rem;
			right: 1.25rem;
		}

		.faq-section {
			position: relative;
			z-index: 0;
			overflow-x: clip;
		}

		.faq-section::before {
			content: '';
			position: absolute;
			right: -1.5rem;
			top: -10rem;
			width: 27.5625rem;
			height: 28.125rem;
			background: url('../images/home/home-bg-4.svg') no-repeat right top / contain;
			pointer-events: none;
			z-index: 0;
		}

		.faq-section .container {
			position: relative;
			z-index: 1;
		}

		@media (min-width: 62rem) {
			.target-grid {
				gap: 1.35rem;
				padding: 2.5rem 0 0;
			}

			.target-item:nth-child(even) {
				transform: translateY(-2.5rem);
			}

			.target-item:nth-child(odd) {
				transform: translateY(0);
			}
		}

		@media (max-width: 61.9375rem) {
			.hero-section {
				padding-top: 7.5rem;
				padding-bottom: 3rem;
			}

			.hero-section::before {
				left: -2rem;
        bottom: -1rem;
        width: min(14.5rem, 59vw);
			}

			.hero-shell {
				min-height: auto;
			}

			.hero-image-inner {
				height: auto;
			}

			.hero-image-inner img {
				object-fit: contain;
			}

			.hero-sub-img-sp {
				display: block;
			}

			.hero-badge-link {
				right: 1rem;
				bottom: 0.5rem;
				width: min(8rem, 24vw);
			}

			.news-filter-group-mobile {
				display: flex;
				flex-wrap: wrap;
				gap: 0.5rem;
			}

			.news-filter-group-mobile .news-filter-btn {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				min-height: 2.25rem;
				padding: 0.5rem 0.875rem;
				font-size: 0.75rem;
				font-weight: 700;
				/* border-radius: 999rem; */
			}

			.about-bg-blob-yellow {
				width: 23.75rem;
				height: 23.75rem;
				right: -6.25rem;
				bottom: -6.25rem;
			}

			.about-images {
				margin-left: 1.25rem;
				margin-top: 2.5rem;
				margin-bottom: 1.875rem;
			}

			.about-img-sub {
				width: 12rem;
				left: -0.625rem;
				bottom: -3rem;
			}

			.target-badge-yellow {
				width: 7.5rem;
				height: 7.5rem;
				font-size: 0.85rem;
				top: -1.5rem;
				left: -1.25rem;
			}

			.about-text-content {
				margin-top: 3rem;
				padding-top: 0;
			}

			.faq-section::before {
				right: -1rem;
				top: 0;
				width: min(12rem, 44vw);
				height: auto;
				aspect-ratio: 441 / 450;
			}

			.kids-running-illustration {
				top: auto;
				bottom: 100%;
				width: 7.5rem;
			}

			.target-card {
				width: 10rem;
				height: 10rem;
				margin-bottom: 1.25rem;
			}

			.target-card p {
				font-size: 0.8rem;
			}

			.about-concept-shell {
				padding: 3.125rem 2rem;
			}

			.about-concept-illust-top {
				top: -2.5rem;
				right: 0.625rem;
				width: 7.5rem;
			}

			.about-concept-illust-bottom {
				bottom: -1.25rem;
				left: -0.625rem;
				width: 6.25rem;
			}

			.tour-vertical-text {
				writing-mode: horizontal-tb;
				margin-bottom: 1.875rem;
				font-size: 1.8rem;
				text-align: center;
			}

			.tour-section::before {
				left: -1rem;
				bottom: 0;
				width: min(12rem, 42vw);
				height: auto;
				aspect-ratio: 495 / 450;
			}

			.tour-image-visual {
				max-width: 35.625rem;
			}

			.tour-section .col-lg-5.text-center {
				text-align: left !important;
			}

			.tour-section .col-lg-5.text-center .tour-copy-block {
				margin-left: 0 !important;
				margin-right: 0 !important;
			}

			.tour-section .col-lg-5.text-center .tour-middle-img {
				display: block;
				margin-left: 0;
				margin-right: 0;
			}

			.tour-secondary-img {
				right: 0;
				bottom: -2rem;
				width: 10rem;
				height: auto;
			}

			.voice-card {
				width: min(32rem, calc(100vw - 4rem));
			}
		}

		@media (max-width: 48rem) {
			.locations-section .locations-heading {
				margin-bottom: 2rem !important;
			}

			.locations-section .location-item {
				margin-bottom: 2.5rem !important;
			}

			.locations-section .location-item:last-child {
				margin-bottom: 0 !important;
			}

			.hero-section {
				padding-top: 6.125rem;
				padding-bottom: 2rem;
			}

			.tour-section {
				display: none;
			}

			.tour-section-sp {
				display: block;
				background-color: #fcfcfc;
				padding-top: 1.5rem;
				padding-bottom: 4rem;
			}

			.tour-section-sp .container {
				position: relative;
				z-index: 1;
			}

			.tour-section-sp-visual {
				margin-bottom: 2rem;
			}

			.tour-section-sp-visual img {
				display: block;
				width: 100%;
				height: auto;
			}

			.tour-section-sp-copy {
				max-width: none;
			}

			.tour-section-sp-copy p {
				margin: 0 0 1.5rem;
				font-size: 1rem;
				line-height: 2.5;
				color: #333333 !important;
			}

			.tour-section-sp-copy .btn-jv-primary-lg {
				width: auto;
				min-height: 3.625rem;
				padding: 0.8125rem 2rem;
				font-size: 1.125rem;
				border-radius: 1rem;
			}

			.hero-badge-link {
				width: min(6.375rem, 27.2vw);
				right: 1rem;
				bottom: 3rem;
			}

			.floating-badge-link {
				right: max(1rem, env(safe-area-inset-right));
				bottom: max(1rem, env(safe-area-inset-bottom));
				width: min(6.375rem, 27.2vw);
			}

			.about-section {
				padding-top: 0;
				padding-bottom: 5rem;
				        margin-top: -3rem;
			}

			.about-images {
				width: min(21.9375rem, 100%);
				margin: 0 auto 2.75rem;
				padding-top: 3.5rem;
				/* padding-right: 1.5rem; */
				padding-right: 0;
			}

			.about-img-main {
				/* width: 20.4375rem; */
				max-width: 100%;
				aspect-ratio: 327 / 280;
				border-radius: 2.5rem;
			}

			.about-img-sub {
				display: block !important;
				width: 7.5rem;
				height: 6.375rem;
				left: auto;
				right: 0;
				bottom: -2.4375rem;
				object-fit: cover;
				border-radius: 1rem;

			}

			.target-badge-yellow {
				width: 6.25rem;
				height: 6.25rem;
				font-size: 0.8125rem;
				top: 0;
				left: -1.5rem;
			}

			.about-text-content {
				margin-top: 0;
				max-width: none;
				text-align: left;
				padding: 0 0.5rem;
			}

			.about-text-content h2 {
				font-size: 1.125rem;
				margin-bottom: 0.5rem;
			}

			.about-text-content h3 {
				font-size: 1.625rem;
				line-height: 1.5;
				margin-bottom: 1rem;
			}

			.about-text-content p {
				font-size: 1rem;
				line-height: 2;
			}

			.about-text-content .btn-jv-primary {
				display: flex;
				justify-content: center;
				width: fit-content;
				min-height: 3.5rem;
				padding: 0.8125rem 2rem;
				margin-left: auto;
				margin-right: auto;
				border-radius: 1rem;
				font-size: 1.125rem;
			}

			.target-section {
				padding-top: 5rem;
				padding-bottom: 5rem;
			}

			.target-section h2 {
				margin-bottom: 1.5rem !important;
				font-size: 1.625rem;
				line-height: 1.5;
			}

			.kids-running-illustration {
				display: none;
			}

			.target-grid {
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
				align-items: flex-start;
				gap: 0.5rem;
				margin-top: 1.5rem;
			}

			.target-item {
				width: calc(33.333% - 0.375rem);
				display: flex;
				justify-content: center;
			}

			.target-card {
				width: 100%;
				height: auto;
				aspect-ratio: 1 / 1;
				margin-bottom: 0;
				padding: 0.75rem 0.5rem;
			}

			.target-card .icon-placeholder {
				width: 2.125rem;
				height: 2.125rem;
				margin-bottom: 0.375rem;
			}

			.target-card .icon-placeholder img {
				max-width: 2.125rem;
				max-height: 2.125rem;
				width: auto;
				height: auto;
			}

			.target-card p {
				font-size: 0.6875rem;
				line-height: 1.35;
			}

			.news-filter-group-mobile {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 0.75rem 0.5rem;
				max-width: none;
			}

			.news-filter-group-mobile .news-filter-btn {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				min-height: 2.25rem;
				padding: 0.625rem 0.5rem;
				font-size: 0.75rem;
				font-weight: 700;
				/* border-radius: 999rem; */
			}

			.news-item {
				padding: 1rem 0;
			}

			.news-date {
				width: auto;
			}

			.news-title {
				font-size: 1rem;
				line-height: 1.65;
			}

			.news-section .text-end {
				text-align: right !important;
			}

			.faq-section .text-end .btn-jv-primary {
				width: 13rem;
				margin-left: auto;
				margin-right: auto;
				justify-content: center;
			}

			.news-section .text-end .btn-jv-primary {
				width: auto;
				margin-left: auto;
				margin-right: 0;
				justify-content: center;
			}

			.news-section .text-end .btn-jv-primary {
				width: auto;
				margin-left: auto;
				margin-right: 0;
				justify-content: center;
			}

			.tour-copy-block .btn-jv-primary-lg {
				width: 14.625rem;
				justify-content: center;
			}

			.about-concept {
				padding-bottom: 3.75rem;
			}

			.about-concept-shell {
				padding: 2rem 1.5rem;
				margin: 0;
				border-radius: 2rem;
			}

			.concept-section .section-title-en {
				font-size: 1rem;
				gap: 0.5rem;
			}

			.concept-section .section-title-en::before {
				width: 0.5rem;
				height: 0.5rem;
			}

			.about-concept .section-title-jp {
				font-size: 1.625rem;
				line-height: 1.5;
			}

			.about-concept .about-copy-block p {
				font-size: 0.875rem;
				line-height: 2;
			}

			.about-concept-illust-top {
				position: absolute;
				display: block;
				top: -1.125rem;
				right: 0.875rem;
				width: 4.8125rem;
				margin: 0;
			}

			.about-concept-illust-bottom {
				position: absolute;
				display: block;
				top: 5.625rem;
				right: 2.875rem;
				left: auto;
				width: 4.125rem;
				margin: 0;
			}

			.tour-section .container {
				padding-left: 1.5rem;
				padding-right: 1.5rem;
			}

			.tour-section .row {
				row-gap: 2rem;
			}

			.tour-image-visual {
				max-width: 20.4375rem;
				margin: 0 auto;
			}

			.tour-main-img {
				height: 17.5rem;
				object-fit: cover;
				background-color: #f4f4f4;
				border-radius: 2.5rem;
			}

			.tour-secondary-img {
				left: -0.875rem;
				right: auto;
				bottom: -3.125rem;
				width: 7.5rem;
				height: 6.375rem;
				border-radius: 1rem;
			}

			.tour-vertical-text {
				font-size: 1.625rem;
				line-height: 1.2;
				letter-spacing: 0.06em;
				text-align: left;
				margin: 0;
			}

			.tour-copy-block .text-jv-body {
				font-size: 1rem;
				line-height: 2.5;
				color: #333333 !important;
			}

			.tour-copy-block .btn-jv-primary-lg {
				width: auto;
				min-height: 3.625rem;
				padding: 0.8125rem 2rem;
				font-size: 1.125rem;
				border-radius: 1rem;
			}

			.tour-copy-block .btn-jv-icon-lg {
				width: 1.125rem;
				height: 1.125rem;
			}

			.news-item {
				flex-wrap: wrap;
				align-items: center;
				gap: 0.625rem 0.75rem;
			}

			.news-date {
				width: auto;
				flex: 0 0 auto;
			}

			.news-cat {
				margin-right: 0;
				flex: 0 0 auto;
			}

			.news-title {
				flex: 0 0 100%;
			}

			.location-card-body {
				padding-top: 0.75rem;
				min-height: auto;
			}

			.location-area {
				font-size: 0.75rem;
			}

			.location-name {
				font-size: 1.125rem;
				line-height: 1.5;
			}

			.voices-section {
				border-radius: 2.5rem;
			}

			.voices-swiper {
				overflow: hidden !important;
			}

			.voice-card {
				width: 100%;
				min-width: 0;
				min-height: auto;
				padding: 1.25rem;
			}

			.voice-header {
				align-items: flex-start;
			}

			.voice-grade {
				font-size: 1.125rem;
			}

			.voice-meta {
				font-size: 0.75rem;
				line-height: 1.6;
			}

			.voices-nav-btn {
				width: 3rem;
				height: 3rem;
			}

			.voice-avatar-wrap {
				width: 4rem;
				height: 4rem;
			}

			.faq-section {
				/* background-color: #f4f4f4 !important; */
				padding-top: 4rem;
				padding-bottom: 4rem;
			}

			.faq-section .section-title-wrapper {
				margin-bottom: 2rem !important;
			}

			.faq-section .section-title-en {
				font-size: 1rem;
				gap: 0.5rem;
			}

			.faq-section .section-title-en::before {
				width: 0.5rem;
				height: 0.5rem;
			}

			.faq-section .section-title-jp {
				font-size: 1.625rem;
				line-height: 1.3;
				margin-top: 1rem;
			}

			.faq-section .accordion-item {
				border-width: 0.25rem;
				border-color: #faf8f6;
				border-radius: 1rem !important;
				margin-bottom: 1rem;
			}

			.faq-section .accordion-button {
				padding: 1.5rem;
				min-height: auto;
				font-size: 0.875rem;
				line-height: 1.7;
			}

			.faq-section .accordion-button::after {
				font-size: 2rem;
			}

			.faq-section .accordion-body {
				padding: 1.5rem;
				font-size: 0.875rem;
				line-height: 2;
				color: #333333;
			}

			.faq-section .text-end {
				text-align: right !important;
				margin-top: 2rem !important;
			}

			.faq-section .text-end .btn-jv-primary {
				width: auto;
				min-height: 3rem;
				padding: 0.5rem 1rem;
				font-size: 0.9375rem;
				border-radius: 0.75rem;
				margin-left: auto;
				margin-right: 0;
			}
		}
