@charset "utf-8";
/*===cariier===cariier===cariier===
...................................

-------------------------- PC

...................................
===cariier===cariier===cariier===*/
@media screen and (min-width: 601px),
print {

	.pc_none,
	.pctb_none,
	.sp_only,
	.tb_only {
		display: none !important;
	}

	a {
		transition: var(--default-transition);
	}

	a:before,
	a:after {
		transition: var(--default-transition);
	}

	a:hover {
		text-decoration: none;
		opacity: var(--hover-opacity);
	}

	.m_map {
		height: 500px;
	}

	.m_table_scroll {
		overflow: hidden !important;
	}
}

/*===cariier===cariier===cariier===
...................................

-------------------------- 複合

...................................
===cariier===cariier===cariier===*/
@media screen and (min-width: 1890px) {}

@media screen and (min-width: 601px) and (max-width: 1650px) {}

@media screen and (min-width: 601px) and (max-width: 1500px) {}

@media screen and (min-width: 601px) and (max-width: 1400px) {
	.l_nav_ttl_lv01_in {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.l_header_logo {
		width: 30rem;
	}

	.l_nav_sub_lv01 {
		right: 5.5rem;

		&:has(.l_nav_lv02_col02) {
			width: 110rem;
		}

		&:has(.l_nav_lv02_col03) {
			width: 110rem;
		}
	}

	.t_info {
		.t_info_block {
			gap: 7rem;
		}
	}

	.t_about_item_content {
		            padding: 3rem 3rem 4.9rem 4rem;
	}
}

@media screen and (min-width: 601px) and (max-width: 1300px) {}

@media screen and (min-width: 601px) and (max-width: 1200px) {}

@media screen and (orientation: portrait) and (min-width: 601px) and (max-width: 1280px) {}

/*===cariier===cariier===cariier===
...................................

-------------------------- SP ONLY

...................................
===cariier===cariier===cariier===*/
@media screen and (max-width: 600px) {

	.pc_only,
	.pctb_only,
	.sp_none,
	.tb_only {
		display: none !important;
	}

	html {
		font-size: 2.5641vw;
	}

	.m_col_ml_sp {
		--gap-col: 4.5rem;
		--gap-row: 4.5rem;
	}

	.m_table_scroll {
		/* overflow-x: auto; */
		margin-left: -2.5rem;
		margin-right: -2.5rem;

		.simplebar-track {
			width: calc(100% - 5rem);
			left: 2.5rem !important;
		}
	}

	.m_table_scroll .m_table_scroll_in {
		padding-left: 2.5rem;
		padding-right: 2.5rem;
		padding-bottom: 3rem;
		width: fit-content;
	}

	.m_table_scroll table {
		margin-top: 0;
		width: 150vw;
		table-layout: fixed;
		margin: 0;
	}

	.m_table_scroll_m table {
		width: 190vw;
	}

	.m_table_scroll_s table {
		width: 150vw;
	}

	.m_table_scroll_ss table {
		width: 130vw;
	}

	.m_table_scroll_110 table {
		width: 110vw;
	}

	.m_table_scroll_120 table {
		width: 120vw;
	}

	.m_table_scroll_130 table {
		width: 130vw;
	}

	.m_table_scroll_140 table {
		width: 140vw;
	}

	.m_table_scroll_150 table {
		width: 150vw;
	}

	.m_table_scroll_160 table {
		width: 160vw;
	}

	.m_table_scroll_170 table {
		width: 170vw;
	}

	.m_table_scroll_180 table {
		width: 180vw;
	}

	.m_table_scroll_190 table {
		width: 190vw;
	}

	.m_table_scroll_200 table {
		width: 200vw;
	}

	.m_table_scroll_210 table {
		width: 210vw;
	}

	.m_table_scroll_220 table {
		width: 220vw;
	}

	.m_table_scroll_230 table {
		width: 230vw;
	}

	.m_table_scroll_240 table {
		width: 240vw;
	}

	.m_table_scroll_250 table {
		width: 250vw;
	}

	.m_table_scroll_260 table {
		width: 260vw;
	}

	.m_table_scroll_270 table {
		width: 270vw;
	}

	.m_table_scroll_280 table {
		width: 280vw;
	}

	.m_table_scroll_290 table {
		width: 290vw;
	}

	.m_table_scroll_300 table {
		width: 300vw;
	}

	.m_table_scroll .m_timetable {
		width: 200vw;
	}

	.m_col02_sp {
		--col: 2;
	}

	:where(.l_under_content) table:where(:not(.no_default)) tbody tr:not(:has(*:nth-child(n + 3))) td {
		width: 63%;
	}

	:where(.l_under_content) table:where(:not(.no_default)) tbody tr:not(:has(*:nth-child(n + 3))) th {
		width: 37%;
	}

	:where(.l_under_content) table:where(:not(.no_default)).th10_sp tbody th,
	:where(.l_under_content) table:where(:not(.no_default)).th10_sp thead th:first-of-type {
		width: 10% !important;
	}

	:where(.l_under_content) table:where(:not(.no_default)).th20_sp tbody th,
	:where(.l_under_content) table:where(:not(.no_default)).th20_sp thead th:first-of-type {
		width: 20% !important;
	}

	:where(.l_under_content) table:where(:not(.no_default)).th30_sp tbody th,
	:where(.l_under_content) table:where(:not(.no_default)).th30_sp thead th:first-of-type {
		width: 30% !important;
	}

	:where(.l_under_content) table:where(:not(.no_default)).th40_sp tbody th,
	:where(.l_under_content) table:where(:not(.no_default)).th40_sp thead th:first-of-type {
		width: 40% !important;
	}

	:where(.l_under_content) table:where(:not(.no_default)).th50_sp tbody th,
	:where(.l_under_content) table:where(:not(.no_default)).th50_sp thead th:first-of-type {
		width: 50% !important;
	}

	:where(.l_under_content) table:where(:not(.no_default)).th60_sp tbody th,
	:where(.l_under_content) table:where(:not(.no_default)).th60_sp thead th:first-of-type {
		width: 60% !important;
	}

	:where(.l_under_content) table:where(:not(.no_default)).th70_sp tbody th,
	:where(.l_under_content) table:where(:not(.no_default)).th70_sp thead th:first-of-type {
		width: 70% !important;
	}

	:where(.l_under_content) table:where(:not(.no_default)).th80_sp tbody th,
	:where(.l_under_content) table:where(:not(.no_default)).th80_sp thead th:first-of-type {
		width: 80% !important;
	}

	:where(.l_under_content) table:where(:not(.no_default)).th90_sp tbody th,
	:where(.l_under_content) table:where(:not(.no_default)).th90_sp thead th:first-of-type {
		width: 90% !important;
	}

	:where(.l_under_content) table:where(:not(.no_default)):is(.th10_sp, .th20_sp, .th30_sp, .th40_sp, .th50_sp, .th60_sp, .th70_sp, .th80_sp, .th90_sp) tbody td,
	:where(.l_under_content) table:where(:not(.no_default)):is(.th10_sp, .th20_sp, .th30_sp, .th40_sp, .th50_sp, .th60_sp, .th70_sp, .th80_sp, .th90_sp) thead th:nth-of-type(n+2) {
		width: auto !important;
	}

	.m_btn02_mini_sp {
		--icon-size: 1.5rem;
		--arrow-size: 0.7rem;
		--arrow-right: 1rem;
		padding-right: 0.9rem;
		height: 4.7rem;

		.txt01 {
			font-size: 1.3rem;
			padding-left: 2.8rem;
		}
	}

	.scroll-hint-icon.ready {
		opacity: 0.8;
	}
}