@charset "utf-8";





/*COMMON*/
/* 包車根節點：請保留 class="charter-root"（嵌在 Fillo 時若 id 被移除，樣式仍靠 class） */
html,body { width:100%; -webkit-text-size-adjust:none; }
html { -webkit-print-color-adjust:exact; }
body { margin:0; padding:0; text-rendering:optimizeLegibility; }
.charter-root,
.charter-root * {
	margin:0;
	padding:0;
	box-sizing:border-box;
	color:rgba(7,60,47,1);
}
.charter-root a {
	-webkit-tap-highlight-color:rgba(7,60,47,0);
	text-decoration:none;
}
.charter-root a:focus { outline:none; }
.charter-root label,
.charter-root input,
.charter-root textarea,
.charter-root select {
	-webkit-tap-highlight-color:rgba(7,60,47,0);
}
.charter-root img,
.charter-root svg {
	display:block;
	width:100%;
	height:auto;
	vertical-align:bottom;
	user-select:none;
	pointer-events:none;
}
/* 包車區版面最大寬 1920px 置中（與 script.js 中 layout 上限一致）
   z-index：整塊包車壓在官網 sticky header 下方，避免 main/section 蓋住選單
   勿在根節點加 transform/isolation：會讓 .back（position:fixed）改為相對包車區，並被 .wrap_contents overflow 裁切，slider 後半圓色塊動畫會失效
   --charter-header-offset：預留官網固定 header 高度，標題與 slider 整體下移；依實際 header 調整，本機單開無 header 可設 0 */
#charter-root.charter-root,
.charter-root {
	max-width: 1920px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 0;
	box-sizing: border-box;
	--charter-header-offset: 100px;
	padding-top: var(--charter-header-offset);
}
.rounded_img { border-radius:16px; }
.mac { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.kerning { font-feature-settings:"palt"; letter-spacing:1px; }
.clear { clear:both; }
.opacity { opacity:0 !important; }
.none { display:none !important; }
body.pc .charter-root a[href^="tel:"] { pointer-events:none !important; text-decoration:none !important; }
.ja1 { font-family:"Jun 501",sans-serif; }
.ja2 { font-family:"Jun 201",sans-serif; }
p.kerning.ja2 {
	font-size: 16px !important;
	line-height: 32px !important;
	max-height: none !important;
	overflow: visible !important;
	-webkit-line-clamp: unset !important;
	display: block !important;
}
.ja3 { font-family:sans-serif !important; }
/* 僅包車區塊內切換 PC/SP 版型，避免與官網其他區塊 class 名稱衝突 */
.charter-root .display_pc { display:inline-block !important; }
.charter-root .display_sp { display:none !important; }


/*PAGE TITLE*/
.page_title {
	text-align: center;
	padding: 24px 16px 8px;
}
.page_title h2 {
	font-size: 32px;
	line-height: 2;
	margin-bottom: 12px;
}
.page_title .page_subtitle {
	font-size: 18px;
	line-height: 1.6;
	color: rgba(7,60,47,0.85);
}
.page_title .page_subtitle_lead {
	font-size: 1.28em;
	display: inline-block;
	margin-bottom: 0.65em;
}
/* 副標題隨 body 主題（.red＝紫）；否則沿用上方深綠字色 */
.red .page_title .page_subtitle {
	color: rgba(139,135,196,0.92);
}
.blue .page_title .page_subtitle {
	color: rgba(86,192,249,0.92);
}
.green .page_title .page_subtitle {
	color: rgba(132,178,58,0.95);
}
.yellow .page_title .page_subtitle {
	color: rgba(242,145,97,0.92);
}
/* 桌機：副標題固定右上不佔流動高度，主標題置中並可貼近 slider */
@media (min-width: 1025px) {
	.page_title {
		position: relative;
		display: block;
		padding: 8px 48px 0;
		text-align: center;
		max-width: 1920px;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
		min-height: 0;
	}
	/* 副標題置於主標題下方、單行（換行僅手機 .page_subtitle_br_sp） */
	.page_title .page_subtitle {
		position: static;
		top: auto;
		right: auto;
		left: auto;
		width: auto;
		max-width: min(960px, 92vw);
		margin: 0 auto;
		padding: 0 24px;
		box-sizing: border-box;
		text-align: center;
		font-size: 15px;
		line-height: 1.55;
		z-index: auto;
		white-space: nowrap;
		letter-spacing: 0.04em;
	}
	.page_title .page_subtitle br.page_subtitle_br_sp {
		display: none;
	}
	.page_title .page_subtitle_lead {
		display: inline;
		margin-bottom: 0;
		margin-right: 0.35em;
	}
	.page_title .page_subtitle .display_pc {
		display: inline !important;
	}
	.page_title h2 {
		text-align: center;
		margin: 0 auto 4px;
		padding-top: 4px;
		line-height: 1.35;
		font-size: clamp(26px, 2.2vw, 36px);
		letter-spacing: 0.06em;
	}
	.page_title h2 br.page_title_br_sp {
		display: none;
	}
	/* 桌機：slider 區（圖 + 輪播文字）整體略上移 */
	#home #slide {
		margin-top: -15px;
	}
}



/*COLOR*/
.color,
.color p {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:color,border-color,background-color,fill;	
}
.red .color10 { color:rgba(243,243,249,1) !important; }	
.red .color25 { color:rgba(226,225,240,1) !important; }	
.red .color50 { color:rgba(197,195,226,1) !important; }	
.red .color75 { color:rgba(168,165,211,1) !important; }	
.red .color100 { color:rgba(139,135,196,1) !important; }
.red .border10 { border-color:rgba(243,243,249,1) !important; }	
.red .border25 { border-color:rgba(226,225,240,1) !important; }	
.red .border50 { border-color:rgba(197,195,226,1) !important; }	
.red .border75 { border-color:rgba(168,165,211,1) !important; }	
.red .border100 { border-color:rgba(139,135,196,1) !important; }
.red .background10 { background-color:rgb(243, 243, 249) !important; }	
.red .background25 { background-color:rgb(226, 225, 240) !important; }	
.red .background50 { background-color:rgb(197, 195, 226) !important; }	
.red .background75 { background-color:rgb(168, 165, 211) !important; }	
.red .background100 { background-color:rgb(139, 135, 196) !important; }
.red .fill10 { fill:rgba(243,243,249,1) !important; }	
.red .fill25 { fill:rgba(226,225,240,1) !important; }	
.red .fill50 { fill:rgba(197,195,226,1) !important; }	
.red .fill75 { fill:rgba(168,165,211,1) !important; }	
.red .fill100 { fill:rgba(139,135,196,1) !important; }
.blue .color10 { color:rgba(238,249,254,1) !important; }	
.blue .color25 { color:rgba(213,239,254,1) !important; }	
.blue .color50 { color:rgba(171,224,252,1) !important; }	
.blue .color75 { color:rgba(128,208,251,1) !important; }	
.blue .color100 { color:rgba(86,192,249,1) !important; }
.blue .border10 { border-color:rgba(238,249,254,1) !important; }	
.blue .border25 { border-color:rgba(213,239,254,1) !important; }	
.blue .border50 { border-color:rgba(171,224,252,1) !important; }	
.blue .border75 { border-color:rgba(128,208,251,1) !important; }	
.blue .border100 { border-color:rgba(86,192,249,1) !important; }
.blue .background10 { background-color:rgba(238,249,254,1) !important; }	
.blue .background25 { background-color:rgba(213,239,254,1) !important; }	
.blue .background50 { background-color:rgba(171,224,252,1) !important; }	
.blue .background75 { background-color:rgba(128,208,251,1) !important; }	
.blue .background100 { background-color:rgba(86,192,249,1) !important; }
.blue .fill10 { fill:rgba(238,249,254,1) !important; }	
.blue .fill25 { fill:rgba(213,239,254,1) !important; }	
.blue .fill50 { fill:rgba(171,224,252,1) !important; }	
.blue .fill75 { fill:rgba(128,208,251,1) !important; }	
.blue .fill100 { fill:rgba(86,192,249,1) !important; }
.green .color10 { color:rgba(243,247,235,1) !important; }	
.green .color25 { color:rgba(224,236,206,1) !important; }	
.green .color50 { color:rgba(194,216,157,1) !important; }	
.green .color75 { color:rgba(163,197,107,1) !important; }	
.green .color100 { color:rgba(132,178,58,1) !important; }
.green .border10 { border-color:rgba(243,247,235,1) !important; }	
.green .border25 { border-color:rgba(224,236,206,1) !important; }	
.green .border50 { border-color:rgba(194,216,157,1) !important; }	
.green .border75 { border-color:rgba(163,197,107,1) !important; }	
.green .border100 { border-color:rgba(132,178,58,1) !important; }
.green .background10 { background-color:rgba(243,247,235,1) !important; }	
.green .background25 { background-color:rgb(224, 236, 206) !important; }	
.green .background50 { background-color:rgb(194, 216, 157) !important; }	
.green .background75 { background-color:rgb(163, 197, 107) !important; }	
.green .background100 { background-color:rgb(132, 178, 58) !important; }
.green .fill10 { fill:rgba(243,247,235,1) !important; }	
.green .fill25 { fill:rgba(224,236,206,1) !important; }	
.green .fill50 { fill:rgba(194,216,157,1) !important; }	
.green .fill75 { fill:rgba(163,197,107,1) !important; }	
.green .fill100 { fill:rgba(132,178,58,1) !important; }
.yellow .color10 { color:rgba(254,244,239,1) !important; }	
.yellow .color25 { color:rgba(252,228,216,1) !important; }	
.yellow .color50 { color:rgba(249,200,176,1) !important; }	
.yellow .color75 { color:rgba(245,173,137,1) !important; }	
.yellow .color100 { color:rgba(242,145,97,1) !important; }
.yellow .border10 { border-color:rgba(254,244,239,1) !important; }	
.yellow .border25 { border-color:rgba(252,228,216,1) !important; }	
.yellow .border50 { border-color:rgba(249,200,176,1) !important; }	
.yellow .border75 { border-color:rgba(245,173,137,1) !important; }	
.yellow .border100 { border-color:rgba(242,145,97,1) !important; }
.yellow .background10 { background-color:rgba(254,244,239,1) !important; }	
.yellow .background25 { background-color:rgb(252, 228, 216) !important; }	
.yellow .background50 { background-color:rgb(249, 200, 176) !important; }	
.yellow .background75 { background-color:rgb(245, 173, 137) !important; }	
.yellow .background100 { background-color:rgb(242, 145, 97) !important; }
.yellow .fill10 { fill:rgba(254,244,239,1) !important; }	
.yellow .fill25 { fill:rgba(252,228,216,1) !important; }	
.yellow .fill50 { fill:rgba(249,200,176,1) !important; }	
.yellow .fill75 { fill:rgba(245,173,137,1) !important; }	
.yellow .fill100 { fill:rgba(242,145,97,1) !important; }





/*BUTTON*/
.button {
	display:inline-block;
	vertical-align:middle;
	width:100%;
	max-width:300px;
	padding:0 30px 0 30px;
	position:relative;
	overflow:hidden;
	border-width:2px;
	border-style:solid;
	border-radius:30px;
	border-color:rgba(255,255,255,1);
	background-color:rgba(255,255,255,1);
}
.button p {
	font-size:20px;
	line-height:56px;
	text-align:center;	
	color:rgba(255,255,255,1);
	max-height:56px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:1;
    overflow:hidden;
}





/*SELECT*/
.select {
	display:inline-block;
	vertical-align:middle;
	width:100%;
	max-width:300px;
	position:relative;
}
.select select {
	width:100%;
	padding:0 30px 0 30px;
	border-width:2px;
	border-style:solid;
	border-radius:30px;
	border-color:rgba(255,255,255,1);
	background-color:rgba(255,255,255,1);
    outline:none;
    box-shadow:none;
    appearance:none;
    cursor:pointer;
	font-size:20px;
	line-height:56px;
}
.select svg {
	width:20px;
	position:absolute;
	top:50%;
	right:30px;
	transform:translateY(-50%);
	user-select:none;
	pointer-events:none;
}





/*PAGER*/
.pager {
	display:inline-block;
	vertical-align:middle;
}
span.pager {
	margin:0 10px 0 10px;
	font-size:20px;
	line-height:20px;	
	user-select:none;
	pointer-events:none;
}
.pager_number {
	font-size:20px;
	line-height:20px;	
}
span.pager_number {
	margin:0;
	user-select:auto;
}
.pager_prev,
.pager_next {
	position:absolute;
}
.pager_index {
	width:calc((100% - 60px) / 3);
	font-size:20px;
	line-height:56px;
    border-width:2px;
    border-style:solid;
    border-radius:30px;
    background-color:rgba(255,255,255,1);
}
.pager div {
	width:auto;
	height:100%;
}
.pager div svg {
	width:auto;
	height:100%;
}
.pager_prev div svg {
	transform:rotate(270deg);
}
.pager_next div svg {
	transform:rotate(90deg);
}
.pager_prev div svg.pager_bus_svg {
	transform:rotate(-10deg);
}
.pager_next div svg.pager_bus_svg {
	transform:rotate(10deg);
}





/*LIST*/
.list {
	display:inline-block;
	vertical-align:top;
	position:relative;	
	font-size:0;
	line-height:0;
}
.list_link {
	display:block;
	width:calc(100% - 60px);	
	height:calc(100% - 60px);			
	position:absolute;
	top:30px;
	left:30px;
	z-index:320;
}
.list_image {
	position:relative;
	overflow:hidden;
	z-index:310;
}
.list_image div {
	width:100%;	
	height:100%;		
	position:relative;	
	overflow:hidden;
	backface-visibility:hidden;
}
.list_image div span {
	display:block;
	width:100%;	
	height:100%;		
	position:absolute;
	top:0;
	left:0;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;		
}
.list_text p {
	font-size:0;
	line-height:0;
}
.list_text p a,
.list_text p span {
	display:inline-block;
	vertical-align:middle;
}
.list_text p a {
	position:relative;	
	z-index:330;
}
.list_text p span {
	user-select:none;
	pointer-events:none;
}
.list_icon {
	aspect-ratio:1 / 1;	
	position:absolute;
	top:30px;
	left:30px;
    transform:translateX(-50%) translateY(-50%);	
	user-select:none;
	pointer-events:none;
   	z-index:340;
}
.list_icon div {
	width:100%;
	height:100%;	
}
.list_icon div p {
	width:calc(100% * 1.5);
	height:calc(100% * 1.5);	
	position:relative;
	top:50%;
	left:50%;
	border-radius:50%;
    overflow:hidden;	
	transform:translateX(-50%) translateY(-50%);
}
.list_icon div p span {
	display:block;
	width:200%;
	position:relative;
	top:50%;
	left:50%;
	font-size:12px;
	line-height:10px;	
	letter-spacing:0;
	text-align:center;
	white-space:nowrap;
	color:rgba(255,255,255,1);
}
.list_red .list_icon div p {
	background-color:rgba(139,135,196,1);
}
.list_blue .list_icon div p {
	background-color:rgba(86,192,249,1);
}
.list_green .list_icon div p {
	background-color:rgba(132,178,58,1);
}
.list_yellow .list_icon div p {
	background-color:rgba(242,145,97,1);
}
.list_red .list_icon div svg {
	fill:rgba(139,135,196,1);
	transform:rotate(0deg);
}
.list_blue .list_icon div svg {
	fill:rgba(86,192,249,1);
	transform:rotate(90deg);
}
.list_green .list_icon div svg {
	fill:rgba(132,178,58,1);
	transform:rotate(270deg);
}
.list_yellow .list_icon div svg {
	fill:rgba(242,145,97,1);
	transform:rotate(180deg);
}
.list_square {
	width:25%;	
	padding:30px 30px 30px 30px;	
}
.list_square .list_image {
	width:100%;		
	border-radius:calc(100% / 8);
}
.list_square .list_text {
	width:100%;		
	margin:10px 0 0 0;
}
.list_square .list_text > p:nth-child(1) {
	font-size:20px;
	line-height:40px;
	max-height:80px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}
.list_square .list_text > p:nth-child(2) {
	max-height:44px;
    overflow:hidden;
}
.list_square .list_text > p:nth-child(2) a,
.list_square .list_text > p:nth-child(2) span {
	font-size:12px;
	line-height:12px;
	margin:10px 0 0 0;
}
.list_square .list_text > p:nth-child(2) span {
	margin-left:5px;
	margin-right:5px;
}
.list_square .list_text > p:nth-child(2) > span:nth-child(1) {
	margin-left:0;
	margin-right:0;
	user-select:auto;
}
.list_square .list_text > p:nth-child(2) > span:nth-last-child(1) {
	display:none;
}
.list_square .list_icon {
	width:calc((100% - 60px) / 6);	
}
.list_square .list_icon div p span {
	transform:translateX(-50%) translateY(-50%);
}
.list_rectangle {
	width:100%;		
	padding:30px 30px 30px 30px;	
}
.list_rectangle .list_image,
.list_rectangle .list_text {
	display:inline-block;
	vertical-align:middle;
	width:calc((100% - 60px) / 2);
}
.list_rectangle .list_image {
	border-radius:calc(100% / 8 * 5 / 6) / calc(100% / 6);
}
.list_rectangle .list_text {
	margin:0 0 0 60px;
	padding:0 60px 0 60px;
}
.list_rectangle .list_text > p:nth-child(1) {
	font-size:28px;
	line-height:56px;
	text-align:center;
	max-height:112px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}
.list_rectangle .list_text > p:nth-child(2) {
	max-height:62px;
    overflow:hidden;
	text-align:center;
}
.list_rectangle .list_text > p:nth-child(2) a,
.list_rectangle .list_text > p:nth-child(2) span {
	font-size:16px;
	line-height:16px;
	margin:15px 0 0 0;
}
.list_rectangle .list_text > p:nth-child(2) span {
	margin-left:10px;
	margin-right:10px;
}
.list_rectangle .list_text > p:nth-child(2) > span:nth-last-child(1) {
	display:none;
}
.list_rectangle .list_text > p:nth-child(2) > span:nth-child(1) {
	display:inline-block;
	line-height:32px;
	margin:10px 0 0 0;
	margin-left:0;
	margin-right:0;
	user-select:auto;
}
.list_rectangle .list_text > p:nth-child(3) {
	margin:20px 0 0 0;
	font-size:16px;
	line-height:32px;
	text-align:justify;
	max-height:64px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}
.list_rectangle .list_text > p:nth-child(4) {
	width:100%;
	max-width:300px;
	margin:0 auto;
	padding:0 30px 0 30px;
	margin-top:50px;
	font-size:20px;
	line-height:56px;
	text-align:center;
	border-width:2px;
	border-style:solid;	
	border-radius:30px;
	color:rgba(255,255,255,1);
	background-color:rgba(255,255,255,1);
	max-height:60px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:1;
    overflow:hidden;
}
.list_rectangle .list_icon {
	width:calc((100% - 120px) / 2 / 8 * 5 / 6);	
}
.list_rectangle .list_icon div p span {
	transform:translateX(-50%) translateY(-50%) scale(1.5);
}
.list_rectangle .list_text.display_pc {
	width:calc((100% - 60px) / 2);		
	margin:15px 0 0 0;
	padding:0;
}
.list_rectangle .list_text.display_pc p {
	font-size:12px;
	line-height:24px;
	text-align:justify;
}
.list_bar {
	width:100%;
	border-width:0 0 2px 0;	
	border-style:solid;
	background-color:rgba(255,255,255,1);
	font-size:0;
	line-height:0;
}
.section_list > .list_bar:nth-child(1) {
	border-top-width:2px;	
}
.list_top {
	width:100%;
}
.list_top a {
	display:block;
	width:100%;
	position:relative;
	font-size:0;
	line-height:0;
}
.list_top a p {
	display:inline-block;
	vertical-align:middle;
	font-size:20px;
	line-height:40px;
}
.list_top a > p:nth-child(1) {
	width:100%;	
	padding:28px 140px 28px 60px;
}
.list_top a > p:nth-last-child(3) {
	width:140px;	
	padding-left:0;
	padding-right:0;
	text-align:center;
}
.list_top a > p:nth-child(2) {
	width:calc(100% - 140px);	
	padding:28px 140px 28px 0;
}
.list_top a svg {
	width:20px;		
	position:absolute;
	top:50%;
	right:60px;
	transform:translateY(-50%);
}
.list_top a div {
	width:20px;		
	height:20px;
	margin:-10px 0 0 0;		
	position:absolute;
	top:50%;
	right:60px;
}
.list_top a div span {
	display:block;
	position:absolute;
}
.list_top a div > span:nth-child(1) {
	width:2px;		
	height:100%;		
	top:0;
	left:50%;
	transform:translateX(-50%);
}
.list_top a div > span:nth-child(2) {
	width:100%;		
	height:2px;		
	top:50%;
	left:0;
	transform:translateY(-50%);
}
.list_bottom {
	display:none;
	width:100%;
	padding:15px 0 60px 0;
	font-size:0;
	line-height:0;
}
.list_bottom > p,
.list_bottom > div {
	display:inline-block;
	vertical-align:top;
}
.list_bottom > p {
	width:140px;	
	margin:-4px 0 0 0;
	font-size:20px;
	line-height:40px;
	text-align:center;
}
.list_bottom > div {
	width:calc(100% - 140px);	
	padding:0 60px 0 0;
}
.list_bottom > div > div {
	width:100%;
    text-align:justify;
}
.list_bottom > div > div:nth-child(1),
.list_bottom > div > div:nth-child(1) span {
	font-size:16px !important;
	line-height:32px !important;
	font-family:"Jun 201",sans-serif !important;
}
.list_bottom > div > div:nth-child(2),
.list_bottom > div > div:nth-child(2) span {
	font-size:12px !important;
	line-height:24px !important;
	font-family:"Jun 201",sans-serif !important;
}
.list_bottom > div > div:nth-last-child(2) {
	margin:0 0 30px 0;
}
.list_bottom > div > div a {
	text-decoration:underline;
}
.list_left {
	display:inline-block;
	vertical-align:middle;	
	width:calc(100% / 3);	
	padding:32px 30px 32px 60px;
}
.list_left p {
	font-size:16px;
	line-height:32px;
	text-align:center;	
}
.list_right {
	display:inline-block;
	vertical-align:middle;		
	width:calc(100% / 3 * 2);	
	padding:32px 60px 32px 30px;
}
.list_right > div {
	width:100%;	
	text-align:justify;		
}
.list_right > div a.decoration_none {
    text-decoration: none;
}
.list_right > div:nth-child(1),
.list_right > div:nth-child(1) span {
	font-size:16px !important;
	line-height:32px !important;
	font-family:"Jun 201",sans-serif !important;
}
.list_right > div:nth-child(2),
.list_right > div:nth-child(2) span {
	font-size:12px !important;
	line-height:24px !important;
	font-family:"Jun 201",sans-serif !important;
}
.list_right > div:nth-last-child(2) {
	margin:0 0 30px 0;
}
.list_right > div a {
	text-decoration:underline;
}
.list_right > div a img {
	display:inline-block;
    vertical-align:text-top;
	width:20px;
	margin:0 0 0 10px;
}
.list_none {
	width:100%;
	padding:120px 30px 120px 30px;
}
.list_none p {
	font-size:20px;
	line-height:40px;
	text-align:center;
}
.list_top a div {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:transform;	
}
.list_top a div > span:nth-child(1) {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:opacity,background-color;	
}
.pulldown_on .list_top a div {
	transform:rotate(360deg);
}
.pulldown_on .list_top a div > span:nth-child(1) {
	opacity:0;
}






/*WRAP*/
.wrap {
	width:100%;
}
.wrap_inner {
	width:100%;
}
.wrap_group {
	width:100%;
}
.wrap_contents {
	width:100%;
	position:relative;	
	overflow:hidden;
}





/*BACK*/
.back {
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	opacity:0;
	z-index:0;
}
.back_inner {
	width:100%;
	height:100%;
}
.back_group {
	width:100%;
	height:100%;
}
.back_contents {
	width:100%;
	height:100%;
	position:relative;
	overflow:hidden;
}
.back_logo {
	width:100%;	
	position:absolute;
	top:50%;
	left:0;	
	transform:translateY(-50%);
}
.back_icon {
	aspect-ratio:1 / 1;	
	position:absolute;
	top:50%;
	left:50%;	
	transform:translateX(-50%);
}
.back_icon div {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;	
	transform:scale(0);
}
.back_icon div span {
	display:block;
	width:100%;
	height:100%;
	border-radius:50%;
}





/*LOAD*/
.load {
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	opacity:0;
	z-index:700;
	pointer-events:none;
}
.load_inner {
	width:100%;
	height:100%;
}
.load_group {
	width:100%;
	height:100%;
}
.load_contents {
	width:100%;
	height:100%;
	position:relative;	
}
.load_logo {
	width:120px;
	height:120px;
	position:absolute;
	top:50%;
	left:50%;
	transform:translateX(-50%) translateY(-50%);
}
.load_logo img {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	opacity:0;
}
.load_logo > img:nth-child(1) {
	position:relative;
	opacity:1;
}
.charter-root.load_on .load {
	user-select:auto;
	pointer-events:auto;
}
.charter-root.load_off .load {
	user-select:none;
	pointer-events:none;
}





/*FIX*/
.fix {
	width:100%;
	height:100%;
	position:fixed;
	bottom:0;
	left:0;
	user-select:none;
	pointer-events:none;
	z-index:400;
}
.fix_inner {
	width:100%;
	height:100%;
}
.fix_group {
	width:100%;
	height:100%;
}
.fix_contents {
	width:100%;
	height:100%;
	position:relative;	
}
.fix_icon {
	width:20px;
	height:80px;
	position:absolute;
	bottom:60px;
	left:60px;	
}
.fix_icon div {
	width:100%;
	height:20px;
	position:absolute;
	top:0;
	left:0;	
}
.fix_icon div span {
	display:block;
	width:100%;
	height:100%;
	border-radius:50%;
	transform:scale(0);
}
.charter-root.back_on .fix_icon div span {
	background-color:rgba(255,255,255,1) !important;	
}





/*MENU（僅 .charter-root 內，避免與官網同名 .menu 衝突）*/
.charter-root .menu {
	width:100%;	
	max-width:460px;
	height:100%;	
	padding:30px 30px 30px 30px;
	position:fixed;
	top:0;
	right:0;
	user-select:none;
	pointer-events:none;
	opacity:0;
	z-index:500;
}
.charter-root .menu a {
	user-select:none;
	pointer-events:none;
}
.charter-root .menu_inner {
	width:100%;	
	height:100%;	
	position:relative;
	border-radius:30px;
	overflow-x:hidden;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	-ms-overflow-style:none;
	scrollbar-width:none;
}
.charter-root .menu_inner::-webkit-scrollbar {
	display:none;
}
.charter-root .menu_group {
	width:100%;	
	height:100%;
	min-height:700px;	
}
.charter-root .menu_inner > .menu_group:nth-child(1) {
	padding:120px 60px 120px 60px;
    position:relative;
}
.charter-root .menu_inner > .menu_group:nth-child(2) {
	position:absolute;
	top:0;
	left:0;
	user-select:none;
	pointer-events:none;
}
.charter-root .menu_inner > .menu_group:nth-child(1) .menu_contents {
	width:100%;	
    position:relative;
    top:50%;
    transform:translateY(-50%);
}
.charter-root .menu_inner > .menu_group:nth-child(2) .menu_contents {
	position:absolute;
	bottom:60px;
	left:60px;
}
.charter-root .menu_navi {
	width:100%;	
}
.charter-root .menu_navi a {
	display:block;
	width:100%;	
	margin:30px 0 0 0;
	position:relative;
}
.charter-root .menu_navi > a:nth-child(1) {
	margin:0;
}
.charter-root .menu_navi a p {
	color:rgba(255,255,255,1);
}
.charter-root .menu_navi a > p:nth-child(1) {
	font-size:20px;
	line-height:20px;	
}
.charter-root .menu_navi a > p:nth-child(2) {
	font-size:12px;
	line-height:12px;	
	position:absolute;
	bottom:0;
	right:0;
}
.charter-root .menu_button {
	width:100%;	
	margin:48px 0 0 0;
	font-size:0;
	line-height:0;
    text-align:center;
}
.charter-root .menu_button > p {
	margin:20px 0 0 0;
	font-size:12px;
	line-height:12px;
	color:rgba(255,255,255,1);
}
.charter-root .menu_button p a {
	display:inline-block;
    vertical-align:text-top;
	padding:0 0 2px 0;
	position:relative;
	overflow:hidden;	
	color:rgba(255,255,255,1);
}
.charter-root .menu_button p a span {
	display:block;
	width:100%;
	height:2px;
	position:absolute;
	bottom:0;
	left:0;
	background-color:rgba(255,255,255,1);	
}
.charter-root .menu_sns {
	font-size:0;
	line-height:0;
}
.charter-root .menu_sns a {
	display:inline-block;
	vertical-align:middle;
	font-size:0;
	line-height:0;
	margin:0 0 0 20px;
}
.charter-root .menu_sns > a:nth-child(1) {
	margin:0;
}
.charter-root .menu_sns a img {
	display:inline-block;
	vertical-align:middle;
	width:12px;	
}
.charter-root .menu_sns a p {
	display:inline-block;
	vertical-align:middle;
	margin:0 0 0 4px;
	font-size:12px;
	line-height:12px;
	color:rgba(255,255,255,1);	
}
.menu_on .charter-root .menu {
	user-select:auto;
	pointer-events:auto;
	opacity:1;
}
.menu_on .charter-root .menu a {
	user-select:auto;
	pointer-events:auto;
}





/*POPUP（僅 .charter-root 內，避免與官網全站衝突）*/
.charter-root .popup {
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	user-select:none;
	pointer-events:none;
	opacity:0;
	z-index:500;
}
.charter-root .popup_inner {
	width:100%;
	height:100%;
}
.charter-root .popup_group {
	width:100%;
	height:100%;
}
.charter-root .popup_contents {
	width:100%;
	height:100%;
	position:relative;	
}
.charter-root #popup_movie {
    width:750px;
    position:absolute;
    top:50%;
    left:50%;
   	transform:translateX(-50%) translateY(-50%);	
}
.charter-root #popup_movie iframe {
    width:100%;
    height:auto;
	aspect-ratio:750 / 422;
}
.popup_on .charter-root .popup {
	user-select:auto;
	pointer-events:auto;
	opacity:1;
}
.popup_off .charter-root .popup {
	user-select:none;
	pointer-events:none;
	opacity:0;
}
.popup_on .charter-root .header_logo a > img:nth-child(1) {
    opacity:1;
}
.popup_on .charter-root .header_logo a > img:nth-child(2) {
    opacity:0;
}
.popup_off .charter-root .header_logo a > img:nth-child(1) {
    opacity:0;
}
.popup_off .charter-root .header_logo a > img:nth-child(2) {
    opacity:1;
}
.popup_on .charter-root .header_navi a {
	user-select:none;
	pointer-events:none;
}
.charter-root .header_logo a img {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:opacity;	
}

/*HEADER（僅 .charter-root 內；官網若用相同 class 名稱，未包在包車根內則不受影響）*/
.charter-root .header_inner {
	width:100%;
	height:100%;
	position:relative;
}
.charter-root .header_group {
	position:absolute;
	top:50%;
	transform:translateY(-50%);
}
.charter-root .header_inner > .header_group:nth-child(1) {
	left:60px;	
}
.charter-root .header_inner > .header_group:nth-child(2) {
	right:60px;	
}
.charter-root .header_inner > .header_group:nth-child(2) .header_contents {
	font-size:0;
    line-height:0;
	text-align:right;
    white-space:nowrap;
}
.charter-root .header_logo {
	height:60px;
}
.charter-root .header_logo a {
	display:block;
	height:100%;
	position:relative;
}
.charter-root .header_logo a img {
	width:auto;
	height:100%;
}
.charter-root .header_logo a > img:nth-child(1) {
	opacity:0;
}
.charter-root .header_logo a > img:nth-child(2) {
	position:absolute;
	top:0;
	left:0;
}
.charter-root .header_weather {
	display:inline-block;
	vertical-align:middle;
	font-size:0;
	line-height:0;	
}
.charter-root .header_weather a {
	display:none;
	vertical-align:middle;
	font-size:0;
	line-height:0;	
}
.charter-root .header_weather a p {
	display:inline-block;
	vertical-align:middle;
}
.charter-root .header_weather a > p:nth-child(2) {
	margin:0 10px 0 10px;
	user-select:none;
	pointer-events:none;
}
.charter-root .header_weather a p span {
	display:block;
	text-align:center;
}
.charter-root .header_weather a p > span:nth-child(1) {
	font-size:20px;
	line-height:20px;	
}
.charter-root .header_weather a p > span:nth-child(2) {
	font-size:12px;
	line-height:12px;	
	margin:15px 0 0 0;
}
.charter-root .header_navi {
	display:inline-block;
	vertical-align:middle;
	margin:0 0 0 40px;
	font-size:0;
	line-height:0;	
}
.charter-root .header_navi a {
	display:inline-block;
	vertical-align:middle;
	margin:0 0 0 40px;
}
.charter-root .header_navi > a:nth-child(1) {
	margin:0;
}
.charter-root .header_navi a p {
	text-align:center;
}
.charter-root .header_navi a > p:nth-child(1) {
	font-size:20px;
	line-height:20px;	
}
.charter-root .header_navi a > p:nth-child(2) {
	font-size:12px;
	line-height:12px;	
	margin:15px 0 0 0;
}
.charter-root .header_button {
	display:inline-block;
	vertical-align:middle;
	width:60px;
	height:60px;
	margin:0 0 0 60px;
}
.charter-root .header_button a {
	display:block;
	width:100%;
	height:100%;
	border-radius:50%;
	position:relative;
}
.charter-root .header_button a div {
	width:32px;
	height:2px;
	position:absolute;
	top:50%;
	left:14px;	
	overflow:hidden;
}
.charter-root .header_button a > div:nth-child(1) {
	transform:translateY(-8px);
}
.charter-root .header_button a > div:nth-child(2) {
	transform:translateY(-1px);
}
.charter-root .header_button a > div:nth-child(3) {
	transform:translateY(6px);
}
.charter-root .header_button a div span {
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;	
	backface-visibility:hidden;
	background-color:rgba(255,255,255,1);
}
.menu_on .charter-root .header_navi a {
	user-select:none;
	pointer-events:none;
}
.red.menu_on .charter-root .header_button a {
	background-color:rgba(139,135,196,0) !important;
}
.blue.menu_on .charter-root .header_button a {
	background-color:rgba(86,192,249,0) !important;
}
.green.menu_on .charter-root .header_button a {
	background-color:rgba(132,178,58,0) !important;
}
.yellow.menu_on .charter-root .header_button a {
	background-color:rgba(242,145,97,0) !important;
}





















/*MAIN*/
.charter-root main {
	width:100%;
	position:relative;	
	opacity:1;
	z-index:auto;
}
.main_inner {
	width:100%;
}
.main_group {
	width:100%;
}
.main_contents {
	width:100%;
}





/*SECTION*/
section {
	width:100%;
	padding:180px 60px 75px 60px;
	margin:-105px 0 0 0;
	position:relative;
}
.section_inner {
	width:100%;
	max-width:960px;
	margin:0 auto;
}
.main_contents > section:nth-last-child(1) {
	z-index:110;
}
.main_contents > section:nth-last-child(2) {
	z-index:120;
}
.main_contents > section:nth-last-child(3) {
	z-index:130;
}
.main_contents > section:nth-last-child(4) {
	z-index:140;
}
.main_contents > section:nth-last-child(5) {
	z-index:150;
}
.main_contents > section:nth-last-child(6) {
	z-index:160;
}
.main_contents > section:nth-last-child(7) {
	z-index:170;
}
.main_contents > section:nth-last-child(8) {
	z-index:180;
}
.main_contents > section:nth-last-child(9) {
	z-index:190;
}
.main_contents > section:nth-last-child(10) {
	z-index:200;
}
.main_contents > section:nth-last-child(11) {
	z-index:210;
}
.main_contents > section:nth-last-child(12) {
	z-index:220;
}
.main_contents > section:nth-last-child(13) {
	z-index:230;
}
.main_contents > section:nth-last-child(14) {
	z-index:240;
}
.main_contents > section:nth-last-child(15) {
	z-index:250;
}
.main_contents > section:nth-last-child(16) {
	z-index:260;
}
.main_contents > section:nth-last-child(17) {
	z-index:270;
}
.main_contents > section:nth-last-child(18) {
	z-index:280;
}
.main_contents > section:nth-last-child(19) {
	z-index:290;
}
.main_contents > section:nth-last-child(20) {
	z-index:300;
}
.section_group {
	width:100%;
}
.section_contents {
	width:100%;
}
.section_title {
	width:100%;	
}
.section_title h1 {
	font-size:40px;
	line-height:70px;
	text-align:center;
}
.section_title h2 {
	font-size:0;
	line-height:0;	
	text-align:center;
}
.section_title h2 span {
	display:inline-block;
    vertical-align:middle;
	font-size:32px;
	line-height:64px;	
}
.section_title h3 {
	font-size:0;
	line-height:0;	
}
.section_title h3 span {
	display:inline-block;
    vertical-align:middle;
	font-size:24px;
	line-height:48px;	
}
.section_title p {
	font-size:0;
	line-height:0;	
	text-align:center;
	margin:5px 0 0 0;
}
.section_title p span {
	display:inline-block;
    vertical-align:middle;
	font-size:16px;
	line-height:32px;	
}
.section_copy {
	width:100%;	
	padding:0 0 0 5px;
}
.section_copy p {
	font-size:30px;
	line-height:50px;	
	text-align:center;
}
.section_text {
	width:100%;	
}
.section_text p {
	font-size:16px;
	line-height:32px;	
	text-align:justify;
}
.section_button {
	width:100%;	
	font-size:0;
	line-height:0;
}
.section_button1,
.section_button2,
.section_button3 {
	text-align:center;	
}
.section_button4 {
	text-align:left;	
}
.section_pager {
	position:absolute;
	font-size:0;
	line-height:0;
}
.section_list {
	width:100%;
	font-size:0;
	line-height:0;
}
.section_image {
	width:100%;	
}
/* 僅限直接子 span，避免 h2 內巢狀（如 .airfare_title_sub）被 scale(0) 且無動畫還原而消失 */
.scroll_on .section_title h2 > span,
.scroll_on .section_title h3 > span,
.scroll_on .section_title p > span {
	transform:scale(0);
}





/*APP*/
.app {	
}
.app .button {
	max-width:none;
	margin:60px 0 0 0;
}
.app .section_button > .button:nth-child(1) {
	margin:0;
}





/*SLIDE*/
#slide {
	padding:80px 0 280px 0;	
	margin:0;
	/* 貓角標 list_icon_cat_svg 旋轉：--slide-cat-offset 為全體微調；其餘為各主題／選中態基準角 */
	/* 貓圖在 viewBox 內繪製略傾，預設順時針補正使「正面」較接近水平；可改 0deg 或依主題微調 */
	--slide-cat-offset: 110deg;
	--slide-cat-red: 180deg;
	--slide-cat-blue: 0deg;
	--slide-cat-green: 90deg;
	--slide-cat-yellow: 270deg;
	--slide-cat-on-red: 540deg;
	--slide-cat-on-blue: 360deg;
	--slide-cat-on-green: 450deg;
	--slide-cat-on-yellow: 630deg;
	/* 角標外層載入動畫（load_off5／load_on5／load_off6／load_on6）：起迄旋轉角，與內層貓圖 --slide-cat-* 分開設定 */
	--slide-icon-load-rotate-from: 0deg;
	--slide-icon-load-rotate-to: 360deg;
	--slide-icon-load-rotate-to-rev: -360deg;
}
#slide .section_inner {
	max-width:none;
	height:100%;
}
#slide .section_group {
	height:100%;
}
#slide .section_contents {
	height:100%;
	position:relative;
}
#slide .section_list {
	height:100%;
	position:relative;
	text-align:center;
}
#slide .list {
	width:auto;
	height:100%;
	padding:0;
}
#slide .section_list > .list:nth-child(1),
#slide .section_list > .list:nth-child(3) {
	position:absolute;
	top:0;
}
#slide .section_list > .list:nth-child(1) {
	right:calc(100% - 180px);
}
#slide .section_list > .list:nth-child(3) {
	left:calc(100% - 180px);
}
#slide .list_link {	
	width:100%;
	height:100%;
	top:0;
	left:0;	
}
#slide .list_image {
	width:auto;
	height:100%;	
}
#slide .section_list > .list:nth-child(2) .list_image {
	transform:rotate(10deg);
}
#slide .list_image div {
	width:auto;
	height:100%;	
}
#slide .list_image div img {
	width:auto;
	height:100%;	
}
#slide .list_icon {
	width:calc(100% / 6);	
    top:0;
    left:0;
}
#slide .list_icon div p {
	min-width:90px;
	min-height:90px;	
}
.red #slide .list_icon div p {
	background-color:rgba(242,145,97,1) !important;
}
.blue #slide .list_icon div p {
	background-color:rgba(139,135,196,1) !important;
}
.green #slide .list_icon div p {
	background-color:rgba(86,192,249,1) !important;
}
.yellow #slide .list_icon div p {
	background-color:rgba(132,178,58,1) !important;
}
#slide .list_icon div p span {
	transform:translateX(-50%) translateY(-50%) scale(1.5);
}
.red #slide .list_icon div svg:not(.list_icon_cat_svg) {
	fill:rgba(242,145,97,1) !important;
	transform:rotate(180deg);
}
.blue #slide .list_icon div svg:not(.list_icon_cat_svg) {
	fill:rgba(139,135,196,1) !important;
	transform:rotate(0deg);
}
.green #slide .list_icon div svg:not(.list_icon_cat_svg) {
	fill:rgba(86,192,249,1) !important;
	transform:rotate(90deg);
}
.yellow #slide .list_icon div svg:not(.list_icon_cat_svg) {
	fill:rgba(132,178,58,1) !important;
	transform:rotate(270deg);
}
/* iconlist/圖型.svg 三圓：上下兩圓＝當前主題色，中圓＝主題循環的「下一色」（順序與兩側錯開） */
.red #slide .list_icon div svg.list_icon_tri_svg {
	fill: transparent !important;
	transform: rotate(180deg);
}
.red #slide .list_icon div svg.list_icon_tri_svg circle:nth-child(1),
.red #slide .list_icon div svg.list_icon_tri_svg circle:nth-child(3) {
	fill: rgba(255, 206, 57,1) !important;
}
.red #slide .list_icon div svg.list_icon_tri_svg circle:nth-child(2) {
	fill: rgba(139, 135, 196, 1) !important;
}
.blue #slide .list_icon div svg.list_icon_tri_svg {
	fill: transparent !important;
	transform: rotate(0deg);
}
.blue #slide .list_icon div svg.list_icon_tri_svg circle:nth-child(1),
.blue #slide .list_icon div svg.list_icon_tri_svg circle:nth-child(3) {
	fill: rgb(139, 135, 196) !important;
}
.blue #slide .list_icon div svg.list_icon_tri_svg circle:nth-child(2) {
	fill: rgb(81, 198, 252) !important;
}
.green #slide .list_icon div svg.list_icon_tri_svg {
	fill: transparent !important;
	transform: rotate(90deg);
}
.green #slide .list_icon div svg.list_icon_tri_svg circle:nth-child(1),
.green #slide .list_icon div svg.list_icon_tri_svg circle:nth-child(3) {
	fill: rgba(86, 192, 249, 1) !important;
}
.green #slide .list_icon div svg.list_icon_tri_svg circle:nth-child(2) {
	fill: rgb(132, 178, 58) !important;
}
.yellow #slide .list_icon div svg.list_icon_tri_svg {
	fill: transparent !important;
	transform: rotate(270deg);
}
.yellow #slide .list_icon div svg.list_icon_tri_svg circle:nth-child(1),
.yellow #slide .list_icon div svg.list_icon_tri_svg circle:nth-child(3) {
	fill: rgba(132, 178, 58, 1) !important;
}
.yellow #slide .list_icon div svg.list_icon_tri_svg circle:nth-child(2) {
	fill: rgb(139, 135, 196) !important;
}
/* iconlist/cat.svg 輪播角標：填滿角標區並略放大（viewBox 留白較多） */
#slide .list_icon div svg.list_icon_cat_svg {
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	transform-origin: 50% 50%;
}
#slide .list_icon div svg.list_icon_cat_svg path {
	fill: inherit !important;
}
.red #slide .list_icon div svg.list_icon_cat_svg {
	fill: rgba(86, 192, 249, 1) !important;
	transform: rotate(calc(var(--slide-cat-red) + var(--slide-cat-offset))) scale(1.45);
}
.blue #slide .list_icon div svg.list_icon_cat_svg {
	fill: rgba(139, 135, 196, 1) !important;
	transform: rotate(calc(var(--slide-cat-blue) + var(--slide-cat-offset))) scale(1.45);
}
.green #slide .list_icon div svg.list_icon_cat_svg {
	fill: rgba(242, 145, 97, 1) !important;
	transform: rotate(calc(var(--slide-cat-green) + var(--slide-cat-offset))) scale(1.45);
}
.yellow #slide .list_icon div svg.list_icon_cat_svg {
	fill: rgba(132, 178, 58, 1) !important;
	transform: rotate(calc(var(--slide-cat-yellow) + var(--slide-cat-offset))) scale(1.45);
}
/* 自訂 SVG（circle / path）：繼承主題 fill（排除三圓圖示，由上方獨立上色） */
#slide .list_icon div svg:not(.list_icon_tri_svg) circle,
#slide .list_icon div svg path {
	fill: inherit;
}
#slide .section_pager {
	width:100%;
	height:100%;
	top:0;
	left:0;
	user-select:none;
	pointer-events:none;
	z-index:320;
}
#slide .pager {
	width:auto;
	height:calc(100% / 6);
	top:50%;
	user-select:auto;
	pointer-events:auto;	
}
#slide .pager_prev {
	left:calc((50% - (100vh - 360px) / 2) / 2 + 90px);
	transform:translateX(-50%) translateY(-50%);
	height:calc(100% / 4.25);
}
#slide .pager_next {
	right:calc((50% - (100vh - 360px) / 2) / 2 + 90px);
	transform:translateX(50%) translateY(-50%);
	height:calc(100% / 4.25);
}
.red #slide .pager_prev svg:not(.pager_bus_svg) {
	fill:rgba(86,192,249,1) !important;
}
.blue #slide .pager_prev svg:not(.pager_bus_svg) {
	fill:rgba(132,178,58,1) !important;
}
.green #slide .pager_prev svg:not(.pager_bus_svg) {
	fill:rgba(255,239,116,1) !important;
}
.yellow #slide .pager_prev svg:not(.pager_bus_svg) {
	fill:rgba(139,135,196,1) !important;
}
/* BUS：下一張＝當前主題色；上一張＝主題循環上一階（紅←黃←綠←藍），避免兩顆同時同色 */
.red #slide .pager_next svg.pager_bus_svg,
.blue #slide .pager_next svg.pager_bus_svg,
.green #slide .pager_next svg.pager_bus_svg,
.yellow #slide .pager_next svg.pager_bus_svg {
	fill:transparent !important;
}
.red #slide .pager_next svg.pager_bus_svg .pager_bus_vehicle {
	fill:rgb(242, 145, 97) !important;
}
.red #slide .pager_next svg.pager_bus_svg .pager_bus_bg {
	fill:rgb(255, 255, 255) !important;
}
.blue #slide .pager_next svg.pager_bus_svg .pager_bus_vehicle {
	fill:rgb(139, 135, 196) !important;
}
.blue #slide .pager_next svg.pager_bus_svg .pager_bus_bg {
	fill:rgb(255, 255, 255) !important;
}
.green #slide .pager_next svg.pager_bus_svg .pager_bus_vehicle {
	fill:rgba(86, 192, 249, 1) !important;
}
.green #slide .pager_next svg.pager_bus_svg .pager_bus_bg {
	fill:rgb(255, 255, 255) !important;
}
.yellow #slide .pager_next svg.pager_bus_svg .pager_bus_vehicle {
	fill:rgba(132, 178, 58, 1) !important;
}
.yellow #slide .pager_next svg.pager_bus_svg .pager_bus_bg {
	fill:rgb(255, 255, 255) !important;
}
.red #slide .pager_prev svg.pager_bus_svg,
.blue #slide .pager_prev svg.pager_bus_svg,
.green #slide .pager_prev svg.pager_bus_svg,
.yellow #slide .pager_prev svg.pager_bus_svg {
	fill:transparent !important;
}
.red #slide .pager_prev svg.pager_bus_svg .pager_bus_vehicle {
	fill:rgba(132, 178, 58, 1) !important;
}
.red #slide .pager_prev svg.pager_bus_svg .pager_bus_bg {
	fill:rgb(255, 255, 255) !important;
}
.blue #slide .pager_prev svg.pager_bus_svg .pager_bus_vehicle {
	fill:rgb(242, 145, 97) !important;
}
.blue #slide .pager_prev svg.pager_bus_svg .pager_bus_bg {
	fill:rgb(255, 255, 255) !important;
}
.green #slide .pager_prev svg.pager_bus_svg .pager_bus_vehicle {
	fill:rgb(139, 135, 196) !important;
}
.green #slide .pager_prev svg.pager_bus_svg .pager_bus_bg {
	fill:rgb(255, 255, 255) !important;
}
.yellow #slide .pager_prev svg.pager_bus_svg .pager_bus_vehicle {
	fill:rgba(86, 192, 249, 1) !important;
}
.yellow #slide .pager_prev svg.pager_bus_svg .pager_bus_bg {
	fill:rgb(255, 255, 255) !important;
}





/*TITLE*/
#title {
	min-height:180px;
	margin:-280px 0 0 0;
	padding-top:30px;
	z-index:300;
}
#title .section_title p {
	margin:0;
	font-size:0;
	line-height:0;
}
#title .section_title p a,
#title .section_title p span {
	display:inline-block;
    vertical-align:middle;
	font-size:20px;
	line-height:20px;
	margin:15px 0 0 0;
}
#title .section_title p span {
	margin-left:10px;
    margin-right:10px;
	user-select:none;
	pointer-events:none;
}
#title .section_title p > span:nth-last-child(1) {
	display:none;
	line-height:40px;
	margin:5px 0 0 0;
}
#title .section_title p > span:nth-child(1) {
	display:inline-block;
	margin-left:0;
    margin-right:0;
	user-select:auto;
	pointer-events:auto;
}







/*NAVI*/
#navi {
}
#navi .button,
#navi .select {
	width:calc((100% - 60px) / 3);
	margin:30px 0 0 30px;
}
#navi .section_button > .button:nth-child(1),
#navi .section_button > .button:nth-child(2),
#navi .section_button > .button:nth-child(3),
#navi .section_button > .select:nth-child(1),
#navi .section_button > .select:nth-child(2),
#navi .section_button > .select:nth-child(3) {
	margin-top:0;
}
#navi .section_button > .button:nth-child(1),
#navi .section_button > .button:nth-child(3n+1),
#navi .section_button > .select:nth-child(1),
#navi .section_button > .select:nth-child(3n+1) {
	margin-left:0;
}





/*LIST*/
#list {
	padding-top:150px;
	padding-bottom:45px;
	padding-left:30px;
	padding-right:30px;
}
#list .section_inner {
	max-width:1320px;
}
#list .section_text {
	max-width:600px;
	margin:0 auto;
	margin-top:40px;
}





/*PAGER*/
#pager {
}
#pager .section_button {
	height:60px;
	position:relative;
}
#pager .section_button > span.pager:nth-last-child(1),
#pager .section_button > span.pager:nth-last-child(2) {
	display:none;
}
#pager .section_button > span.pager_number:nth-last-child(1),
#pager .section_button > span.pager_number:nth-last-child(2) {
	display:inline-block;
}
#pager span.pager,
#pager a.pager_number {
	position:relative;
	top:50%;
	transform:translateY(-50%);
}
#pager .pager_prev,
#pager .pager_next {
	width:calc((100% - 60px) / 3);
	top:0;
	font-size:20px;
	line-height:56px;
    border-width:2px;
    border-style:solid;
    border-radius:30px;
    background-color:rgba(255,255,255,1);
}
#pager .pager_prev {
	left:0;
}
#pager .pager_next {
	right:0;
}









/*GALLERY*/
#gallery {
	padding:180px 0 180px 0;	
	margin:0;
}
#gallery .section_inner {
	max-width:none;
	height:100%;
}
#gallery .section_group {
	height:100%;
}
#gallery .section_contents {
	height:100%;
	font-size:0;
	line-height:0;
}
#gallery .infiniteslide_wrap {
    height:100%;
    overflow:visible !important;
}
#gallery .section_list {
	display:inline-block;
    vertical-align:middle;
	width:auto;
	height:100%;
	white-space:nowrap;   
}
#gallery .list {
	width:auto;
	height:100%;
	padding:0 60px 0 60px;
}
#gallery .list_link {
    width:calc(100% - 120px);
	height:100%;
    top:0;
    left:60px;
}
#gallery .list_image {
	width:auto;
	height:100%;	
}
#gallery .list_image div {
	width:auto;
	height:100%;	
}
#gallery .list_image div img {
	width:auto;
	height:100%;	
}
#gallery .list_text {
	width:calc(100% - 120px);
	margin:0;
	position:absolute;
	top:calc(100% + 20px);
	left:60px;
}
#gallery .list_text > p:nth-child(1) {
	line-height:20px;
	max-height:20px;
	-webkit-line-clamp:1;
    white-space:normal;
}
#gallery .list_icon {
	width:calc((100% - 120px) / 6);
    top:0;
    left:60px;
}
#gallery .list_icon div p {
	min-width:90px;
	min-height:90px;	
}
#gallery .list_icon div p span {
	transform:translateX(-50%) translateY(-50%) scale(1.5);
}





/*HOME*/
#home {
}
#home .section_title {
	font-size:0;
	line-height:0;	
}
#home .section_title h2,
#home .section_title p {
	display:inline-block;
    vertical-align:middle;
	text-align:left;
}
#home .section_title p {
	margin:0;
}
#home .section_title > p:nth-child(2) {
	margin-left:10px;
	margin-right:10px;
    user-select:none;
    pointer-events:none;
}
#home .section_title h2 span,
#home .section_title p span {
	font-size:24px;
	line-height:48px;	
}





/*SLIDE*/
#home #slide {
	z-index:110;
}
#home #slide .section_list {
	position:absolute;
	left:50%;
	text-align:left;
}
#home #slide .section_contents > .section_list:nth-child(1) {
	transform:translateX(-50%) rotate(-45deg);
}
#home #slide .section_contents > .section_list:nth-child(2) {
	transform:translateX(-50%) rotate(0deg);
}
#home #slide .section_contents > .section_list:nth-child(3) {
	transform:translateX(-50%) rotate(45deg);
}
#home #slide .section_contents > .section_list:nth-child(4) {
	transform:translateX(-50%) rotate(90deg);
}
#home #slide .section_contents > .section_list:nth-child(5) {
	transform:translateX(-50%) rotate(135deg);
}
#home #slide .list {
	display:none;
	position:absolute;
	top:0;
	left:0;
	transform:translateX(-50%) rotate(-90deg);	
	aspect-ratio:1 / 1;
}
#home #slide .section_list > .list:nth-child(1) {
    right:0;
    transform:translateX(-50%) rotate(-90deg);
}
#home #slide .section_list > .list:nth-child(2) .list_image {
    transform:rotate(0deg);
}
/* 輪播主圖：與 .list 正方形一致，非方圖一律 cover 置中裁切 */
#home #slide .list_image {
	width: 100%;
	height: 100%;
}
#home #slide .list_image > div {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
}
#home #slide .list_image > div img {
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	max-height: none;
	object-fit: cover;
	object-position: center;
}
#home #slide .list_image > div .display_pc,
#home #slide .list_image > div .display_sp {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-size: cover !important;
	background-position: center;
	background-repeat: no-repeat;
}
#home #slide .list_icon div {
	transform:scale(0);
}
#home #slide .section_contents > .section_pager:nth-child(7) {
    width:auto;
    height:auto;
	top:calc(100% + 120px);
    left:calc(100% - 60px);
	transform:translateX(-100%) translateY(-100%);	
	white-space:nowrap;
}
#home #slide .section_contents > .section_pager:nth-child(7) .pager {
    height:auto;
    top:0;
    color:rgba(255,255,255,1);
}
#home #slide .section_contents > .section_pager:nth-child(7) .pager_prev,
#home #slide .section_contents > .section_pager:nth-child(7) .pager_next {
	position:relative;
    transform:translateX(0%) translateY(0%);
}
#home #slide .section_contents > .section_pager:nth-child(7) .pager_prev {
    left:0;
}
#home #slide .section_contents > .section_pager:nth-child(7) .pager_next {
    right:0;
}
#home #slide .section_contents > .section_pager:nth-child(7) .pager p {
	position:absolute;
	top:0;
	left:0;
	font-size:0;
    line-height:0;
}
#home #slide .section_contents > .section_pager:nth-child(7) .pager_prev > p:nth-child(1) {
	position:relative;
}
#home #slide .section_contents > .section_pager:nth-child(7) .pager_next p {
	position:relative;
}
#home #slide .section_contents > .section_pager:nth-child(7) .pager p span {
    display:inline-block;
    vertical-align:middle;
	font-size:20px;
    line-height:20px;
    color:rgba(255,255,255,1);
    opacity:0;
}
#home #slide .section_contents > .section_pager:nth-child(7) .pager_next p span {
    opacity:1;
}
#home #slide .section_contents > .section_pager:nth-child(7) span.pager {
    user-select:none;
    pointer-events:none;
}
#home #slide .slide_on {
	display:inline-block;
}
#home #slide .section_list {
	transition-duration:1s;
	transition-timing-function:ease-in-out;
	transition-property:transform,opacity;	
}
.slide_in {
	opacity:1;
}
.slide_out {
	opacity:0;
}
.slide_hide {
	opacity:0 !important;
}
#home #slide .section_contents > .section_pager:nth-child(7) span.pager {
    user-select:none;
    pointer-events:none;
}
#home #slide .section_contents > .section_pager:nth-child(7) .pager .slide_on span {
    user-select:auto;
    pointer-events:auto;
	z-index:110;
}
#home #slide .section_contents > .section_pager:nth-child(7) .pager .slide_off span {
	opacity:1;
}
.section_weather {
	display:inline-block;
	vertical-align:middle;
	font-size:0;
	line-height:0;	
	position:absolute;
	top:90px;
	right:700px;
    transform:translateY(-50%);
}
.section_weather a {
	vertical-align:middle;
	font-size:0;
	line-height:0;	
    user-select:none;
    pointer-events:none;
}
.section_weather a p {
	display:inline-block;
	vertical-align:middle;
}
.section_weather a > p:nth-child(2) {
	margin:0 10px 0 10px;
	user-select:none;
	pointer-events:none;
}
.section_weather a p span {
	display:block;
	text-align:center;
}
.section_weather a p > span:nth-child(1) {
	font-size:20px;
	line-height:20px;	
}
.section_weather a p > span:nth-child(2) {
	font-size:12px;
	line-height:12px;	
	margin:15px 0 0 0;
}











/*TITLE*/
#home #title {
    user-select:none;
    pointer-events:none;
}
#home #title .section_inner {
    max-width:calc(100vh - 360px + 240px);
}
#home #title .section_contents {
	position:relative;
}
#home #title .section_title {
	position:absolute;
	top:0;
	left:0;
	opacity:0;
}
#home #title .section_contents > .section_title:nth-child(1) {
	position:relative;
}
#home #title .section_title > p:nth-child(2) {
    margin-left:0;
    margin-right:0;
    user-select:auto;
    pointer-events:auto;
}
#home #title .section_title p {
    display:block;
    font-size:0;
    line-height:0;
    text-align:center;
}
#home #title .section_title h1,
#home #title .section_title p,
#home #title .section_title p span {
    color:rgba(255,255,255,1);
}
#home #title .slide_on {
    user-select:auto;
    pointer-events:auto;
	z-index:110;
}
#home #title .slide_off {
	opacity:1;
}

/* 桌機：#title 輪播說明文字（h1/p）略上移，不影響 #slide 照片 */
@media (min-width: 1025px) {
	#home #title .section_title {
		top: -10px;
	}
}

/*ABOUT*/
#home [id^="about"] {
	min-height:700px;
	margin:15px 0 0 0;
	padding-top:0;
	padding-bottom:0;
}
#home [id^="about"] .section_inner {
	max-width:1260px;
    display:flex;
    flex-flow:wrap;
    align-items:center;
    flex-direction:row;
    height:100%;
    position:relative;
}
#home [id^="about"] .section_inner > .section_group:nth-child(1) {
	width:auto;
    position:absolute;
    top:48px;
    left:calc(50% + 30px);
}
#home [id^="about"] .section_inner > .section_group:nth-child(2),
#home [id^="about"] .section_inner > .section_group:nth-child(3) {
	width:calc((100% - 60px) / 2);
    height:100%;
}
#home [id^="about"] .section_inner > .section_group:nth-child(2) {
	padding:60px 0 60px 0;
}
#home [id^="about"] .section_inner > .section_group:nth-child(3) {
	margin:0 0 0 60px;
	padding:0 60px 0 60px;
}
#home [id^="about"] .section_contents {
	position:relative;
}
#home [id^="about"] .section_inner > .section_group:nth-child(2) .section_contents {
    height:100%;
}
#home [id^="about"] .section_inner > .section_group:nth-child(3) .section_contents {
	padding:0 0 15px 0;
	top:50%;
    transform:translateY(-50%);
}
#home [id^="about"] .section_image {
	height:100%;
	position:relative;
	border-radius:30px;
	overflow:hidden;
	z-index:310;
}
#home [id^="about"] .section_image > div {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	overflow:hidden;
}
#home [id^="about"] .section_image div div {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	overflow:hidden;
	opacity:0;
}
#home [id^="about"] .section_image div div span {
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;		
}
#home [id^="about"] .section_pager {
	width:auto;
	height:auto;
	position:absolute;
	bottom:40px;
	left:40px;
	z-index:330;
}
#home [id^="about"] .pager {
	width:20px;
	height:20px;
	margin:0 0 0 20px;
	border-radius:50%;
	background-color:rgba(255,255,255,1);
	pointer-events:auto;
	cursor:pointer;
}
#home [id^="about"] .section_pager > .pager:nth-child(1) {
	margin:0;
}
#home [id^="about"] .section_copy {
	margin-top:30px;
}
.section_copy_small {
	font-size:0.65em;
	color:inherit;
}
#home [id^="about"] .section_text {
	margin:30px 0 0 0;
}
#home [id^="about"] .section_text .section_text_mark {
	color: #8b87c4;
}
.section_note_red {
	color:#c00;
}

/*GROUP BANNER*/
#home #group_banner,
#home #schedule_banner {
	width:100%;
	max-width:100vw;
	margin-top:70px;
	padding:24px 30px;
	text-align:center;
}
#home #fee_banner {
	width:100%;
	max-width:100vw;
	margin-top:400px !important;
	margin-bottom:0;
	padding:24px 30px;
	text-align:center;
	position:relative;
	z-index:150;
}
#home #group_banner .group_banner_text,
#home #schedule_banner .section_banner_text,
#home #fee_banner .group_banner_text {
	margin:0;
	font-size:24px;
	line-height:40px;
	color:rgba(255,255,255,1);
}

/* 御居所帝王蟹：桌機 #fee_banner 單獨調整（與 charter-product.js 寫入的 html[data-charter-product-id] 對應） */
@media (min-width: 1025px) {
	html[data-charter-product-id="hokkaido-royal-crab-toya-otsu-moiwa-5d"] #home #fee_banner {
		margin-top: 500px !important;
		margin-bottom: 0;
		padding: 24px 30px;
	}
}

/*SCHEDULE BANNER*/

/*AIRFARE*/
#home #airfare {
	margin:50px 0 420px 0;
	padding:50px 30px 80px 30px;
}
#home #airfare .airfare_block {
	max-width:1200px;
}
#home #airfare .airfare_item {
	padding-bottom:80px;
}
#home #airfare .section_title {
	text-align:center;
	margin-bottom:20px;
}
#home #airfare .section_title h2 span {
	display:inline;
	font-size:24px;
	line-height:48px;
}
#home #airfare .section_title_sub {
	font-size:14px;
	line-height:24px;
	text-align:center;
	margin:15px 0 0 0;
	color:rgba(100,100,100,1);
}
#home #airfare .airfare_plans {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:20px;
	margin-top:40px;
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
}
#home #airfare .airfare_plan {
	flex:1;
	min-width:200px;
	max-width:280px;
	padding:24px 20px;
	border-radius:12px;
	border:1px solid rgba(200,200,200,1);
	text-align:center;
	background:rgba(255,255,255,0.9);
}
.airfare_title_sub {
	font-weight:300;
	font-size:0.9em;
	color:inherit;
}
#home #airfare .airfare_plan_title {
	font-size:18px;
	line-height:32px;
	margin:0 0 8px 0;
	font-weight:bold;
}
#home #airfare .airfare_plan_price {
	font-size:24px;
	line-height:36px;
	margin:0 0 8px 0;
	font-weight:bold;
}
#home #airfare .airfare_plan_sub {
	font-size:14px;
	line-height:24px;
	margin:0;
	color:rgba(100,100,100,1);
}

/*FLIGHT TABLE 航空航班資訊表格*/
#home #flight_table {
	padding:32px 24px 60px;
	margin-bottom:250px;
}
#home #flight_table .section_title {
	text-align:center;
	margin-bottom:24px;
}
#home #flight_table .section_title h2 span {
	display:inline;
	font-size:24px;
	line-height:48px;
}
#home #flight_table .section_title_sub {
	font-size:14px;
	line-height:24px;
	text-align:center;
	margin:15px 0 0 0;
	color:rgba(100,100,100,1);
}
#home #flight_table .flight_table_inner {
	max-width:1200px;
	margin:0 auto;
}
#home #flight_table .flight_table_wrapper {
	width:100%;
	overflow-x:auto;
}
#home #flight_table .flight_table {
	width:100%;
	border-collapse:separate;
	border-spacing:0;
	font-size:15px;
	line-height:1.6;
	font-family:"Jun 201",sans-serif;
	color:rgba(7,60,47,1);
	font-feature-settings:"palt";
	letter-spacing:1px;
}
#home #flight_table .flight_table thead.background100 th {
	/* 底色由 .red/.blue/.green/.yellow .background100 與全站主題同步 */
	background-color:transparent;
	color:#fff;
	font-weight:bold;
	font-family:"Jun 501",sans-serif;
	text-align:center;
	padding:14px 10px;
	border:1px solid rgba(255,255,255,0.35);
	font-size:15px;
	line-height:1.5;
}
#home #flight_table .flight_table thead tr th:first-child {
	border-top-left-radius:12px;
}
#home #flight_table .flight_table thead tr th:last-child {
	border-top-right-radius:12px;
}
/* 靜態 index 表：每航司固定 3 列時，倒數第三列為航空欄列 */
#home #flight_table .flight_table tbody tr:nth-last-child(3) td.flight_airline {
	border-bottom-left-radius:12px;
}
/* 動態 flightTable：多組航段時列數可變，改標記最後一航司之航空格 */
#home #flight_table .flight_table tbody td.flight_airline.flight_airline_last_group {
	border-bottom-left-radius:12px;
}
#home #flight_table .flight_table tbody tr:last-child td:last-child {
	border-bottom-right-radius:12px;
}
#home #flight_table .flight_table td {
	background-color:#fff;
	border:1px solid #d8d8d8;
	text-align:center;
	padding:12px 10px;
	vertical-align:middle;
}
#home #flight_table .flight_airline {
	background-color:rgb(255, 243, 234) !important;
	font-weight:500;
	width:12%;
	min-width:100px;
	vertical-align:middle;
}
#home #flight_table .flight_freq {
	font-size:13px;
	color:rgba(7,60,47,0.85);
	font-weight:400;
}
@media (min-width:1025px) {
	#home #flight_table .flight_airline {
		line-height:1.4;
	}
	#home #flight_table .flight_freq {
		display:block;
		margin-top:0.35em;
	}
}
#home #flight_table .flight_remarks {
	text-align:center;
	width:14%;
	min-width:120px;
	font-size:13px;
	line-height:1.5;
}
#home #flight_table .flight_info {
	text-align:center;
	font-size:14px;
	color:rgba(7,60,47,0.9);
}

/*FEE SECTION 費用說明&相關注意事項*/
#home #fee_section {
	padding:50px 24px 60px;
	margin-top:40px;
	margin-bottom:0;
}
#home #fee_section .fee_section_inner {
	max-width:1200px;
	margin:0 auto;
}
#home #fee_section .fee_block {
	display:flex;
	flex-wrap:wrap;
	border:1px solid #d8d8d8;
	border-radius:12px;
	overflow:hidden;
	background:#fff;
}
#home #fee_section .fee_column {
	flex:1;
	min-width:280px;
	padding:28px 24px 32px;
}
#home #fee_section .fee_column:first-child {
	border-right:1px solid #e8e8e8;
}
#home #fee_section .fee_column_title {
	font-size:18px;
	font-weight:bold;
	font-family:"Jun 501",sans-serif;
	color:rgba(7,60,47,1);
	margin:0 0 20px 0;
	padding-bottom:12px;
	border-bottom:1px solid #e8e8e8;
}
#home #fee_section .fee_list {
	list-style:none;
	margin:0;
	padding:0;
}
#home #fee_section .fee_list li {
	display:flex;
	align-items:flex-start;
	gap:12px;
	margin-bottom:16px;
	font-size:15px;
	line-height:1.7;
	font-family:"Jun 201",sans-serif;
	font-feature-settings:"palt";
	letter-spacing:1px;
	color:rgba(7,60,47,1);
	text-align:left;
}
#home #fee_section .fee_list li:last-child {
	margin-bottom:0;
}
#home #fee_section .fee_icon {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
	width:20px;
	height:20px;
	font-size:14px;
	line-height:1;
	margin-top:4px;
}
#home #fee_section .fee_icon_check::before {
	content:"✓";
	color:#22c55e;
	font-weight:bold;
}
#home #fee_section .fee_icon_cross::before {
	content:"✗";
	color:#ef4444;
	font-weight:bold;
}
#home #fee_section .fee_icon_info::before {
	content:"ℹ";
	color:#3b82f6;
	font-weight:bold;
	font-style:italic;
}
#home #fee_section .fee_notice {
	display:flex;
	align-items:flex-start;
	gap:12px;
	margin:24px 0 0 0;
	padding:16px;
	background:#f0f7ff;
	border-radius:8px;
	border-left:3px solid #3b82f6;
	font-size:14px;
	line-height:1.6;
	font-family:"Jun 201",sans-serif;
	font-feature-settings:"palt";
	letter-spacing:1px;
	color:rgba(7,60,47,0.9);
}
#home #fee_section .fee_notice .fee_icon {
	margin-top:2px;
}

/* FAQ 報名、證件、取消與住宿說明 */
#home #faq_section {
	position:relative;
	z-index:400;
	padding:8px 24px 60px;
	margin-top:0;
	margin-bottom:0;
}
#home #faq_section .faq_inner {
	max-width:1200px;
	margin:0 auto;
}
#home #faq_section .faq_card {
	border:1px solid #d8d8d8;
	border-radius:10px;
	overflow:hidden;
	background:#fff;
}
#home #faq_section .faq_title_head {
	display:flex;
	align-items:center;
	gap:12px;
	padding:20px 24px;
	border-bottom:1px solid #e0d6c7;
}
#home #faq_section .faq_title_icon {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	flex-shrink:0;
}
#home #faq_section .faq_title_icon .faq_title_svg {
	width:100%;
	height:100%;
	display:block;
}
#home #faq_section .faq_svg_glyph {
	fill:rgba(255,255,255,1) !important;
}
#home #faq_section .faq_main_title {
	margin:0;
	padding:0;
	font-size:18px;
	font-weight:bold;
	font-family:"Jun 501",sans-serif;
	color:rgba(7,60,47,1);
}
#home #faq_section details.faq_group {
	border-bottom:1px solid #e0d6c7;
}
#home #faq_section details.faq_group:last-child {
	border-bottom:none;
}
#home #faq_section .faq_trigger {
	cursor:pointer;
	padding:16px 24px;
	list-style:none;
	display:flex;
	align-items:center;
	gap:12px;
	font-weight:600;
	font-family:"Jun 201",sans-serif;
	font-size:16px;
	color:rgba(7,60,47,1);
	font-feature-settings:"palt";
	letter-spacing:1px;
	transition:background-color 0.2s ease;
}
#home #faq_section .faq_trigger::-webkit-details-marker {
	display:none;
}
#home #faq_section .faq_trigger:hover {
	background:rgba(255, 243, 234,1);
}
#home #faq_section .faq_chev {
	display:inline-block;
	width:0;
	height:0;
	border-style:solid;
	border-width:6px 0 6px 10px;
	border-color:transparent transparent transparent rgba(86,192,249,1);
	transition:transform 0.25s ease, border-color 0.5s ease;
	flex-shrink:0;
}
body.red #home #faq_section .faq_chev {
	border-color:transparent transparent transparent rgba(139,135,196,1);
}
body.blue #home #faq_section .faq_chev {
	border-color:transparent transparent transparent rgba(86,192,249,1);
}
body.green #home #faq_section .faq_chev {
	border-color:transparent transparent transparent rgba(132,178,58,1);
}
body.yellow #home #faq_section .faq_chev {
	border-color:transparent transparent transparent rgba(242,145,97,1);
}
#home #faq_section details[open] .faq_chev {
	transform:rotate(90deg);
}
#home #faq_section .faq_body {
	padding:20px 24px 24px 48px;
	font-size:15px;
	line-height:1.8;
	font-family:"Jun 201",sans-serif;
	color:rgba(7,60,47,0.95);
	font-feature-settings:"palt";
	letter-spacing:1px;
	background:rgb(255, 243, 234);
}
#home #faq_section .faq_body p {
	margin:0 0 12px 0;
}
#home #faq_section .faq_body p:last-child {
	margin-bottom:0;
}
#home #faq_section .faq_body strong {
	font-weight:bold;
	color:rgba(7,60,47,1);
}

#home [id^="about"] .section_button {
	margin:50px 0 0 0;
}
.section_info_block {
	margin:30px 0 0 0;
	padding:15px 24px;
	border-radius:10px;
}
.section_info_block p {
	font-size:16px;
	line-height:28px;
	color:rgba(255,255,255,1);
	margin:0;
}
.section_info_meal_icon,
.section_info_hotel_icon {
	display:inline-block;
	vertical-align:middle;
	margin-right:6px;
}
.section_info_meal_icon img,
.section_info_hotel_icon img {
	display:block;
	width:20px;
	height:20px;
	object-fit:contain;
}
#home [id^="about"] .section_image div .slide_on {
	opacity:0;
}
#home [id^="about"] .section_image div .slide_off {
	opacity:1;
}
.red #home [id^="about"] .pager.slide_on {
	background-color:rgba(139,135,196,1) !important;
}
.blue #home [id^="about"] .pager.slide_on {
	background-color:rgba(86,192,249,1) !important;
}
.green #home [id^="about"] .pager.slide_on {
	background-color:rgba(132,178,58,1) !important;
}
.yellow #home [id^="about"] .pager.slide_on {
	background-color:rgba(242,145,97,1) !important;
}





/*HTE*/
#home #hte {
	margin:15px 0 0 0;
	padding-top:60px;
}
#home #hte .section_inner {
	max-width:1260px;
    display:flex;
    flex-flow:wrap;
    align-items:center;
    flex-direction:row-reverse;
    position:relative;
    padding:70px 90px 48px 90px;
    border-radius:30px;
}
#home #hte .section_inner > .section_group:nth-child(1) {
	width:auto;
    position:absolute;
    top:58px;
    left:60px;
}
#home #hte .section_inner > .section_group:nth-child(2),
#home #hte .section_inner > .section_group:nth-child(3) {
	width:calc((100% - 60px) / 2);
	padding:0 60px 0 60px;
}
#home #hte .section_inner > .section_group:nth-child(2) {
	margin:0 0 0 60px;
}
#home #hte .section_inner > .section_group:nth-child(2) .section_contents {
    position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
}
#home #hte .hte_visual_wrap {
	width:100%;
	position:relative;
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:center;
}
#home #hte .hte_nav {
	display:none;
}
#home #hte .section_title h2 span,
#home #hte .section_title p span,
#home #hte .section_title p span span {
	color:rgba(255,255,255,1);
}
#home #hte .section_title > p:nth-child(3) {
	position:relative;
}
#home #hte .section_title > p:nth-child(3) > span {
	width:200px;
	position:absolute;
	top:0;
	left:0;
    transform:scale(1);
}
#home #hte .section_title > p:nth-child(3) span span {
    font-size: 18px;
    line-height: 36px;
    transform:scale(1);
}
#home #hte .section_title > p:nth-child(3) > span:nth-child(1) {
	position:relative;
}
@media (min-width: 1025px) {
	/* 與手機相同：車名多組疊在同一 grid 格，勿用 absolute 佔位，否則 baseline 會對到「第一組」而非目前顯示的那一組 */
	#home #hte .section_inner > .section_group:nth-child(1) .section_title {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: baseline;
		column-gap: 0.35em;
	}
	#home #hte .section_inner > .section_group:nth-child(1) .section_title h2 {
		margin: 0;
		flex-shrink: 0;
	}
	#home #hte .section_inner > .section_group:nth-child(1) .section_title > p:nth-child(2) {
		margin: 0 10px;
		flex-shrink: 0;
	}
	#home #hte .section_inner > .section_group:nth-child(1) .section_title > p:nth-child(3) {
		margin: 0;
		flex: 0 1 auto;
		min-width: 0;
		position: relative;
		display: inline-grid;
		grid-template-columns: max-content;
		grid-template-rows: auto;
		align-items: baseline;
		vertical-align: baseline;
	}
	#home #hte .section_inner > .section_group:nth-child(1) .section_title > p:nth-child(3) > span {
		position: static !important;
		left: auto !important;
		top: auto !important;
		width: auto !important;
		white-space: nowrap;
		grid-row: 1;
		grid-column: 1;
	}
	#home #hte .section_inner > .section_group:nth-child(1) .section_title h2 span,
	#home #hte .section_inner > .section_group:nth-child(1) .section_title > p:nth-child(2) span,
	#home #hte .section_inner > .section_group:nth-child(1) .section_title > p:nth-child(3) span span {
		font-size: 18px;
		line-height: 36px;
		vertical-align: baseline;
	}
}
#home #hte .section_image {
	position:relative;
	width:100%;
	height:250px;   /* ← 你想要的高度 */
    transform: scale(1.28);
    transform-origin: center;
}
#home #hte .section_image > div {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	border:none;
	border-radius:50px;
}
#home #hte .section_image > div:nth-child(1) {
	position:relative;
}
#home #hte .section_image div div {
	width:100%;
	height:100%;
	padding:0 20px;
	box-sizing:border-box;
	position:absolute;
	top:0;
	left:0;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:0;
	line-height:0;	
	text-align:center;
}
#home #hte .section_image div div img {
	display:block;
	max-width:100%;
	max-height:100%;
	width:auto;
	height:auto;
	object-fit:contain;
	vertical-align:middle;
}
#home #hte .section_pager {
	width:100%;
	height:auto;
	position:relative;
	bottom:auto;
	left:auto;
	margin-top:28px;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:20px;
	z-index:330;
}
#home #hte .pager {
	width:20px;
	height:20px;
	margin:0;
	border-radius:50%;
	border-width:2px;
    border-style:solid;
	border-color:rgb(255, 255, 255);
	background-color:transparent;
	pointer-events:auto;
	cursor:pointer;
	flex-shrink:0;
}
#home #hte .section_list {	
	position:relative;
	text-align:center;
}
#home #hte .section_list > div {
	width:100%;
	position:absolute;
	top:0;
	left:0;
	opacity:0;
	text-align:center;
}
#home #hte .section_list .section_copy,
#home #hte .section_list .section_text {
	text-align:center;
	width:100%;
}
#home #hte .section_list .section_copy p,
#home #hte .section_list .section_text p {
	text-align:center;
}
#home #hte .section_copy p {
	color:rgba(255,255,255,1);
}
#home #hte .section_list .section_copy p {
	font-weight:700;
}
#home #hte .section_text {
	margin:30px 0 0 0;
}
#home #hte .section_text p {
	color:rgba(255,255,255,1);
}
#home #hte .section_list .section_text p.hte_subnote_nowrap {
	white-space:nowrap;
}
#home #hte .section_button {
	margin:50px 0 0 0;	
}
#home #hte .button {
	width:calc((100% - 20px) / 2);
	margin:20px 0 0 20px;
	border-radius:20px;
}
#home #hte .section_button > .button:nth-child(1),
#home #hte .section_button > .button:nth-child(2) {
	margin-top:0;
}
#home #hte .section_button > .button:nth-child(1),
#home #hte .section_button > .button:nth-child(2n+1) {
	margin-left:0;
}
#home #hte .button {
	padding:0 20px 0 20px;
}
#home #hte .button p {
	font-size:16px;
	line-height:36px;	
	max-height:36px;
}
#home #hte .pager.slide_on {
	background-color:#ffffff;
}







/*ACTIVITY*/
#home #activity {
	margin:0;
	margin-top:60px;
	padding-top:75px;
}
#home #activity .section_inner {
	max-width:1260px;
    display:flex;
    flex-flow:wrap;
    align-items:center;
    flex-direction:row-reverse;
    position:relative;
}
#home #activity .section_inner > .section_group:nth-child(1) {
	width:auto;
    position:absolute;
    top:-12px;
    left:0;
}
#home #activity .section_inner > .section_group:nth-child(2),
#home #activity .section_inner > .section_group:nth-child(3) {
	width:calc((100% - 60px) / 2);
}
#home #activity .section_inner > .section_group:nth-child(2) {
	min-height:750px;
	margin:0 0 0 60px;
	padding:60px 60px 60px 60px;
	border-radius:30px;
	position:relative;
}
#home #activity .section_inner > .section_group:nth-child(2) .section_contents {
	width:calc(100% - 120px);
	position:absolute;
	top:50%;
	left:50%;
    transform:translateX(-50%) translateY(-50%);
}
#home #activity .section_inner > .section_group:nth-child(3) {
	padding:0 60px 0 60px;
}
#home #activity .section_inner > .section_group:nth-child(3) .section_contents {
	padding:0 0 15px 0;
}
#home #activity .section_image > div:nth-child(1) {
	width:100%;
	border-width:2px;
    border-style:solid;
	border-radius:30px;
	border-color:rgba(255,255,255,1);
}
#home #activity .section_image > div:nth-child(1) p {
	font-size:20px;
	line-height:56px;
	text-align:center;
	color:rgba(255,255,255,1);
}
#home #activity .section_image > div:nth-child(2) {
	width:100%;
	margin:30px 0 0 0;
}
#home #activity .section_image > div:nth-child(2) p {
	font-size:28px;
	line-height:56px;
	text-align:center;
	color:rgba(255,255,255,1);
}
#home #activity .section_image > div:nth-child(3),
#home #activity .section_image > div:nth-child(5),
#home #activity .section_image > div:nth-child(6),
#home #activity .section_image > div:nth-child(7) {
	width:100%;
	border-width:2px;
    border-style:solid;
	border-radius:10px;
}
#home #activity .section_image > div:nth-child(3) {
	margin:30px 0 0 0;
	border-color:rgba(255,255,255,1);
	background-color:rgba(255,255,255,1);
}
#home #activity .section_image > div:nth-child(5),
#home #activity .section_image > div:nth-child(6),
#home #activity .section_image > div:nth-child(7) {
	margin:20px 0 0 0;
	border-color:rgba(255,255,255,1);
}
#home #activity .section_image > div:nth-child(3) p,
#home #activity .section_image > div:nth-child(5) p,
#home #activity .section_image > div:nth-child(6) p,
#home #activity .section_image > div:nth-child(7) p {
   	font-size:24px;
	line-height:56px;
	text-align:center;
	color:rgba(255,255,255,1);
}
#home #activity .section_image > div:nth-child(5) p span,
#home #activity .section_image > div:nth-child(6) p span,
#home #activity .section_image > div:nth-child(7) p span {
	display:inline-block;
    vertical-align:text-top;
	width:24px;
	margin:0 0 0 5px;
   	border-radius:50%;
   	font-size:16px;
   	line-height:24px;
   	letter-spacing:0;
	background-color:rgba(255,255,255,1);
}
#home #activity .section_image > div:nth-child(4) {
	width:20px;
	height:20px;
	margin:0 auto;
	margin-top:20px;
	position:relative;
}
#home #activity .section_image > div:nth-child(4) span {
	display:block;
	position:absolute;
	background-color:rgba(255,255,255,1);
}
#home #activity .section_image > div:nth-child(4) > span:nth-child(1) {
	width:4px;
	height:100%;
	top:0;
	left:50%;
    transform:translateX(-50%);
}
#home #activity .section_image > div:nth-child(4) > span:nth-child(2) {
	width:100%;
	height:4px;
	top:50%;
	left:0;
    transform:translateY(-50%);
}
#home #activity .section_text {
	margin:30px 0 0 0;
}
#home #activity .section_button {
	margin:50px 0 0 0;
}





/*PLAN*/
#home #plan {
    padding-bottom:75px;
}
#home #plan .section_title {
    padding:0 30px 0 30px;
}
#home #plan .section_list {
	margin:30px 0 0 0;
}
#home #plan .section_button {
	margin:45px 0 0 0;
}





/*NEWS*/
#home .news_consult_above {
	max-width:1320px;
	margin:0 auto;
	padding-left:30px;
	padding-right:30px;
}
#home .news_consult_above .section_button {
	margin:45px 0 0 0;
}
/* 立即諮詢：外連、與 .button 同形；點按時略變深 */
#home .news_consult_above a.news_consult_external.button {
	text-decoration:none;
	cursor:pointer;
	-webkit-tap-highlight-color:transparent;
	box-sizing:border-box;
}
#home .news_consult_above a.news_consult_external.button p {
	color:rgba(255,255,255,1);
}
.charter-root #home .news_consult_above a.news_consult_external.button:active {
	filter:brightness(0.88);
	transition:filter 0.12s ease;
}
#home #news {
	padding-left:30px;
	padding-right:30px;
	margin-top:56px;
}
#home #news .section_inner {
	max-width:1320px;
}
#home #news .section_title {
    padding:0 30px 0 30px;
}
#home #news .section_list {
	margin:30px 0 0 0;
}
#home #news .section_button {
	margin:45px 0 0 0;
}
#home #news .news_trip_period {
	display: inline-block;
	font-size: 16px;
	line-height: 22px;
}
/* 行程列表方卡：固定 1:1，圖片 cover；避免圖未載入時高度隨 intrinsic 變成長方形 */
#home #news .list_square .list_image {
	aspect-ratio: 1 / 1;
	position: relative;
	overflow: hidden;
}
#home #news .list_square .list_image > .scroll_image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
#home #news .list_square .scroll_image img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	object-position: center;
}
#home #news .list_square .scroll_image .display_pc,
#home #news .list_square .scroll_image .display_sp {
	z-index: 1;
}





/*PROJECT*/
#home #project {
	padding-left:30px;
	padding-right:30px;
	margin-top:72px;
}
#home #project .section_inner {
	max-width:1320px;
}
#home #project .section_title {
    padding:0 30px 0 30px;
}
#home #project .section_list {
	margin:30px 0 0 0;
}
#home #project .section_button {
	margin:45px 0 0 0;
}
@media (min-width: 1025px) {
	/* PROJECT 桌機：標籤列；p 內 HTML 縮排空白在 flex 會變成子節點，吃掉 gap——父層 font-size:0 消除 */
	#home #project .list_rectangle .list_text > p:nth-child(2) {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: baseline;
		column-gap: clamp(16px, 1.65em, 26px);
		row-gap: 10px;
		font-size: 0;
		line-height: 1;
	}
	#home #project .list_rectangle .list_text > p:nth-child(2) span,
	#home #project .list_rectangle .list_text > p:nth-child(2) a {
		display: inline-block;
		margin: 0 !important;
		font-size: 16px;
		line-height: 32px;
		vertical-align: baseline;
		letter-spacing: 0.14em;
	}
	#home #project .list_rectangle .list_text > p:nth-child(2) > span:nth-child(1) {
		display: inline-block;
		line-height: 32px;
		margin: 0 !important;
	}
}

/* #project 三張橫卡左側圖：固定橫向比例 + cover，換圖後不會被拉成正方形或比例崩掉 */
#home #project .list_rectangle .list_image {
	aspect-ratio: 16 / 10;
	position: relative;
	overflow: hidden;
	border-radius: 40px;
}
#home #project .list_rectangle .list_image > .scroll_image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
#home #project .list_rectangle .scroll_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	max-height: none;
}





/*IMAGE*/
#image {
}
#image .section_inner {
	max-width:1260px;
}
#image .section_image {
	position:relative;
}
#image .section_image img {
	position:absolute;
	top:0;
	left:0;
	opacity:0;
}
#image .section_image > img:nth-child(1) {
	position:relative;
	opacity:1;
}





/*CONCEPT*/
#concept {
}
#concept .section_inner {
	max-width:1260px;
    display:flex;
    flex-flow:wrap;
    align-items:center;
    flex-direction:row-reverse;
}
#concept .section_inner > .section_group:nth-child(2),
#concept .section_inner > .section_group:nth-child(3) {
    width:calc((100% - 60px) / 2);
    margin:60px 0 0 0;    
	padding:0 60px 0 60px;
}
#concept .section_inner > .section_group:nth-child(2) {
	margin-left:60px;
}
#concept .section_copy {
	max-width:400px;
	margin:0 auto;
	padding:0;
}
#concept .section_text {
	margin:50px 0 0 0;
}
#concept .section_image div {
	width:100%;	
	position:relative;
}
#concept .section_image > div:nth-child(2) {
    margin:60px 0 0 0;
}
#concept .section_image div img {
	position:absolute;
	top:0;
	left:0;
	opacity:0;
}
#concept .section_image div > img:nth-child(1) {
	position:relative;
	opacity:1;
}
#concept .section_image div p {
	width:100%;		
	position:absolute;
	top:0;
	left:0;	
	font-size:36px;
	line-height:36px;	
	text-align:center;
	opacity:0;
}
#concept .section_image div > p:nth-child(1) {
	position:relative;
	color:rgba(139,135,196,1);
}
#concept .section_image div > p:nth-child(2) {
	color:rgba(86,192,249,1);
}
#concept .section_image div > p:nth-child(3) {
	color:rgba(132,178,58,1);
}
#concept .section_image div > p:nth-child(4) {
	color:rgba(242,145,97,1);
}





/*AREA*/
#area {
}
#area .section_inner {
	max-width:1260px;
    display:flex;
    flex-flow:wrap;
    align-items:center;
    flex-direction:row-reverse;
}
#area .section_inner > .section_group:nth-child(2),
#area .section_inner > .section_group:nth-child(3) {
    width:calc((100% - 60px) / 2);
    margin:60px 0 0 0;
	padding:0 60px 0 60px;
}
#area .section_inner > .section_group:nth-child(2) {
	margin-left:60px;
}
#area .section_text {
	margin:30px 0 0 0;
}
#area .section_button {
	margin:50px 0 0 0;
}
#area .section_image div {
	width:100%;	
	position:relative;
}
#area .section_image > div:nth-child(2) {
    margin:50px 0 0 0;
}
#area .section_image div a {
	display:block;
	position:absolute;
}
#area .section_image div > a:nth-child(2) {
	width:22%;
    height:5%;
    top:11%;
    left:24%;
}
#area .section_image div > a:nth-child(3) {
	width:22%;
    height:5%;
    top:16%;
    left:24%;
}
#area .section_image div > a:nth-child(4) {
	width:19%;
    height:12%;
    top:46%;
    left:17%;
}
#area .section_image div > a:nth-child(5) {
	width:15%;
    height:33%;
    top:29%;
    left:54%;
}
#area .section_image div > a:nth-child(6) {
	width:22%;
    height:32%;
    top:52%;
    left:36%;
}
#area .section_image div p {
	font-size:16px;
	line-height:32px;	
	text-align:center;
}





/*ACCESS*/
#access {
}
#access .section_image {
	aspect-ratio:8 / 5;	
	margin:60px 0 0 0;
	position:relative;
	border-radius:30px;
	overflow:hidden;
	z-index:310;
}
#access .section_image iframe {
	width:100%;	
	height:100%;
	position:absolute;
	top:0;
	left:0;	
}
#access .section_list {
	margin:75px 0 0 0;
}





/*LIST*/





/*HTU*/
#htu {
}
#htu .section_image {
	font-size:0;
	line-height:0;
	text-align:center;
}
#htu .section_image > div:nth-child(1) {
	width:100%;
	border-width:2px;
    border-style:solid;
	border-radius:30px;
	background-color:rgba(255,255,255,1);
}
#htu .section_image > div:nth-child(1) p {
	font-size:20px;
	line-height:56px;
	text-align:center;
}
#htu .section_image > div:nth-child(2) {
	width:100%;
	margin:45px 0 0 0;
}
#htu .section_image > div:nth-child(2) p {
	font-size:28px;
	line-height:56px;
	text-align:center;
}
#htu .section_image > div:nth-child(3),
#htu .section_image > div:nth-child(5),
#htu .section_image > div:nth-child(6),
#htu .section_image > div:nth-child(7) {
	display:inline-block;
	vertical-align:middle;
	width:calc((100% - 150px) / 4);
	aspect-ratio:1 / 1;	
	margin:45px 0 0 0;
	border-width:2px;
    border-style:solid;
   	border-radius:calc(100% / 6);
}
#htu .section_image > div:nth-child(3) {
	background-color:rgba(139,135,196,1);
	border-color:rgba(139,135,196,1);
}
#htu .section_image > div:nth-child(5),
#htu .section_image > div:nth-child(6),
#htu .section_image > div:nth-child(7) {
	margin-left:30px;
	background-color:rgba(255,255,255,1);
}
#htu .section_image > div:nth-child(5) {
	border-color:rgba(86,192,249,1);
	border-color:rgba(132,178,58,1);
}
#htu .section_image > div:nth-child(6) {
	border-color:rgba(132,178,58,1);
	border-color:rgba(242,145,97,1);
}
#htu .section_image > div:nth-child(7) {
	border-color:rgba(242,145,97,1);
}
#htu .section_image > div:nth-child(3) p,
#htu .section_image > div:nth-child(5) p,
#htu .section_image > div:nth-child(6) p,
#htu .section_image > div:nth-child(7) p {
	text-align:center;
	position:relative;
	top:50%;
    transform:translateY(-50%);
}
#htu .section_image > div:nth-child(3) p {
	color:rgba(255,255,255,1);
}
#htu .section_image > div:nth-child(3) p,
#htu .section_image > div:nth-child(5) p,
#htu .section_image > div:nth-child(6) p,
#htu .section_image > div:nth-child(7) p {
   	font-size:24px;
	line-height:24px;
}
#htu .section_image > div:nth-child(5) p {
	color:rgba(86,192,249,1);
	color:rgba(132,178,58,1);
}
#htu .section_image > div:nth-child(6) p {
	color:rgba(132,178,58,1);
	color:rgba(242,145,97,1);
}
#htu .section_image > div:nth-child(7) p {
	color:rgba(242,145,97,1);
}
#htu .section_image > div:nth-child(5) p span,
#htu .section_image > div:nth-child(6) p span,
#htu .section_image > div:nth-child(7) p span {
	display:block;
	width:36px;
	margin:0 auto;
	margin-top:15px;
   	border-radius:50%;
   	line-height:36px;
   	letter-spacing:0;
	color:rgba(255,255,255,1);
}
#htu .section_image > div:nth-child(5) p span {
	background-color:rgba(86,192,249,1);
	background-color:rgba(132,178,58,1);
}
#htu .section_image > div:nth-child(6) p span {
	background-color:rgba(132,178,58,1);
	background-color:rgba(242,145,97,1);
}
#htu .section_image > div:nth-child(7) p span {
	background-color:rgba(242,145,97,1);
}
#htu .section_image > div:nth-child(4) {
	display:inline-block;
	vertical-align:middle;
	width:30px;
	height:30px;
	margin:45px 0 0 30px;
	position:relative;
}
#htu .section_image > div:nth-child(4) span {
	display:block;
	position:absolute;
	background-color:rgba(86,192,249,1);
}
#htu .section_image > div:nth-child(4) > span:nth-child(1) {
	width:4px;
	height:100%;
	top:0;
	left:50%;
    transform:translateX(-50%);
}
#htu .section_image > div:nth-child(4) > span:nth-child(2) {
	width:100%;
	height:4px;
	top:50%;
	left:0;
    transform:translateY(-50%);
}





.red #htu .section_image > div:nth-child(3) {
    background-color: rgba(86,192,249,1);
    border-color: rgba(86,192,249,1);
}
.red #htu .section_image > div:nth-child(5) {
    border-color: rgba(132,178,58,1);
}
.red #htu .section_image > div:nth-child(6) {
    border-color: rgba(242,145,97,1);
}
.red #htu .section_image > div:nth-child(5) p {
	color: rgba(132,178,58,1);
}
.red #htu .section_image > div:nth-child(6) p {
	color: rgba(242,145,97,1);
}
.red #htu .section_image > div:nth-child(5) p span {
    background-color: rgba(132,178,58,1);	
}
.red #htu .section_image > div:nth-child(6) p span {
    background-color: rgba(242,145,97,1);
}



.blue #htu .section_image > div:nth-child(3) {
    background-color: rgba(139,135,196,1);
    border-color: rgba(139,135,196,1);
}
.blue #htu .section_image > div:nth-child(5) {
    border-color: rgba(132,178,58,1);
}
.blue #htu .section_image > div:nth-child(6) {
    border-color: rgba(242,145,97,1);
}
.blue #htu .section_image > div:nth-child(5) p {
	color: rgba(132,178,58,1);
}
.blue #htu .section_image > div:nth-child(6) p {
	color: rgba(242,145,97,1);
}
.blue #htu .section_image > div:nth-child(5) p span {
    background-color: rgba(132,178,58,1);	
}
.blue #htu .section_image > div:nth-child(6) p span {
    background-color: rgba(242,145,97,1);
}


.green #htu .section_image > div:nth-child(3) {
    background-color: rgba(139,135,196,1);
    border-color: rgba(139,135,196,1);
}
.green #htu .section_image > div:nth-child(5) {
    border-color: rgba(86,192,249,1);
}
.green #htu .section_image > div:nth-child(6) {
    border-color: rgba(242,145,97,1);
}
.green #htu .section_image > div:nth-child(5) p {
	color: rgba(86,192,249,1);
}
.green #htu .section_image > div:nth-child(6) p {
	color: rgba(242,145,97,1);
}
.green #htu .section_image > div:nth-child(5) p span {
    background-color: rgba(86,192,249,1);	
}
.green #htu .section_image > div:nth-child(6) p span {
    background-color: rgba(242,145,97,1);
}



.yellow #htu .section_image > div:nth-child(3) {
    background-color: rgba(139,135,196,1);
    border-color: rgba(139,135,196,1);
}
.yellow #htu .section_image > div:nth-child(5) {
    border-color: rgba(86,192,249,1);
}
.yellow #htu .section_image > div:nth-child(6) {
    border-color: rgba(132,178,58,1);
}
.yellow #htu .section_image > div:nth-child(5) p {
	color: rgba(86,192,249,1);
}
.yellow #htu .section_image > div:nth-child(6) p {
	color: rgba(132,178,58,1);
}
.yellow #htu .section_image > div:nth-child(5) p span {
    background-color: rgba(86,192,249,1);	
}
.yellow #htu .section_image > div:nth-child(6) p span {
    background-color: rgba(132,178,58,1);
}






/*PLAN*/
#plan {
	padding-bottom:45px;
	padding-left:30px;
	padding-right:30px;
}
#plan .section_inner {
	max-width:1320px;
}
#plan .section_text {
	max-width:600px;
	margin:0 auto;
	margin-top:40px;
}
#plan .section_list {
	margin:60px 0 0 0;
}
#plan .list_text > p:nth-child(3) {
    margin:15px 0 0 0;
}
#plan .list_none {
	width:100%;
	padding-top:0;
	padding-bottom:0;
}





/*LIST*/
#activity #list {
	padding-top:180px;
}
#activity #list .section_group {
	margin:30px 0 0 0;
}
#activity #list .section_inner > .section_group:nth-child(1) {
	margin:0;
}
#activity #list .section_inner > .section_group:nth-child(2) {
	margin:60px 0 0 0;
}
#activity #list .section_title {
	padding:0 30px 0 30px;
}
#activity #list .section_inner > .section_group:nth-child(1) .section_title {
	padding:0;
}
#activity #list .section_list {
	margin:20px 0 0 0;
}
#activity #list .list_text > p:nth-child(2) {
	height:48px;
    max-height:none;
    overflow:hidden;
	margin:5px 0 0 0;
}
#activity #list .list_text > p:nth-child(2) span {
	margin:0;
	font-size:12px;
	line-height:24px;
	text-align:justify;
    max-height:48px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.dropdown_contents {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:height;	
}
.dropdown_on .dropdown_contents span {
	display:block !important;
    max-height:none !important;
    -webkit-line-clamp:none !important;
}
#activity #list .list_none {
	width:100%;
	padding-top:0;
	padding-bottom:0;
}




/*SPONSOR*/
#sponsor {
}
#sponsor .section_inner {
	max-width:1260px;
	border-radius:30px;
	padding:60px 60px 75px 60px;
}
#sponsor .section_title h2 span,
#sponsor .section_title p span {
	color:rgba(255,255,255,1);
}
#sponsor .section_text {
	max-width:600px;
	margin:0 auto;
	margin-top:40px;
}
#sponsor .section_text p {
	color:rgba(255,255,255,1);
}
#sponsor .section_button {
	margin:50px 0 0 0;
}





/*FORM*/
#form {
}
#form .section_inner > .section_group:nth-child(2) {
	margin:60px 0 0 0;
}
#form .section_inner > .section_group:nth-child(2) .section_contents {
	position:relative;
}
#form .section_inner > .section_group:nth-child(2) .section_list {
	position:absolute;
	top:0;
	left:0;
    user-select:none;
    pointer-events:none;
	opacity:0;	
}
.wpcf7 {
	width:100%;
}
form {
	width:100%;
}
#form .list {
	margin:60px 0 0 0;
	border:none;
	background-color:transparent;
}
#form .section_list > .list:nth-child(1),
#form form > .list:nth-child(2) {
	margin:0;	
}
#form .list_left {
	vertical-align:top;
	width:calc((100% - 60px) / 3 - 30px);
	padding:0;
}
#form .list_left p {
	font-size:20px;
    line-height:60px;
    text-align:left;
    position:relative;
}
#form .list_left p span {
    position:absolute;
    top:0;
    right:0;
    text-align:right;
	color:rgba(139,135,196,1);
}
#form .list_right {
	vertical-align:top;
	width:calc((100% - 60px) / 3 * 2 + 30px);
	margin:0 0 0 60px;
	padding:0;
}
#form .list_right input,
#form .list_right textarea,
#form .list_right select {
	width:100%;
	padding-left:30px;
	padding-right:30px;
    border-width:2px;
    border-style:solid;
    border-radius:30px;
    outline:none;
    box-shadow:none;
	appearance:none;
	background-color:rgba(255,255,255,1);
}
#form .list_right input:-webkit-autofill {
	box-shadow:0 0 0px 1000px rgb(255,255,255,1) inset !important;
	-webkit-text-fill-color:rgba(7,60,47,1) !important;
}
#form .list_right input,
#form .list_right textarea {
	padding-top:12px;
	padding-bottom:12px;
	font-size:16px;
    line-height:32px;
}
#form .list_right textarea {
	height:300px;	
}
#form .list_right select {
	padding-top:18px;
	padding-bottom:18px;
	font-size:20px;
    line-height:20px;
    cursor:pointer;
}
#form .list_right svg {
	width:20px;
    position:absolute;
    top:50%;
    right:30px;
    transform:translateY(-50%);
    user-select:none;
    pointer-events:none;
}
#form .section_text p {
    font-size:20px;
    line-height:40px;
    text-align:center;
}
#form .section_button {
	margin:60px 0 0 0;
}
#form .section_button input {
	display:block;
	width:100%;
	max-width:calc((100% - 60px) / 3);
	margin:0 auto;
	font-size:20px;
	line-height:56px;
	text-align:center;
	color:rgba(255,255,255,1);
    border-width:2px;
    border-style:solid;
    border-radius:30px;
    cursor:pointer;
	outline:none;
    box-shadow:none;	
	appearance:none;
}
.wpcf7-form-control-wrap,
.wpcf7-form-control {
    display:block;
    width:100%;
    position:relative;
}
.screen-reader-response,
.ajax-loader {
	display:none !important;
}
span.wpcf7-not-valid-tip {
    display:block;
	width:100%;
    margin:15px 0 0 0;
    font-size:12px;
    line-height:24px;
    letter-spacing:1px;
	color:rgba(139,135,196,1);
	font-feature-settings:"palt";
	font-family:"Jun 501",sans-serif;
}
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing,
div.wpcf7-response-output {
	display:none;
	width:100%;
	margin:60px 0 0 0;
    border-width:2px;
    border-style:solid;
	border-color:rgba(139,135,196,1);    
	border-radius:30px;
	background-color:rgba(139,135,196,1);
    font-size:20px;
    line-height:56px;
    letter-spacing:1px;
	text-align:center;
	color:rgba(255,255,255,1);
	font-feature-settings:"palt";
	font-family:"Jun 501",sans-serif;
}
#form .section_inner > .section_group:nth-child(2) .form_on {
	position:relative;
    user-select:auto;
    pointer-events:auto;
	z-index:310;
}





/*POLICY*/
#policy {
}
#policy .section_group {
	width:calc((100% - 60px) / 3 * 2 + 30px);
	height:300px;
	margin:0 0 0 calc((100% - 60px) / 3 + 30px);
	padding:60px 60px 60px 60px;
	border-width:2px;
	border-style:solid;
	border-radius:30px;
	background-color:rgba(255,255,255,1);
   	overflow-x:hidden;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	-ms-overflow-style:none;
	scrollbar-width:none;
}
#policy .section_group::-webkit-scrollbar {
	display:none;
}
#policy .section_title h2 {
	font-size:20px;
	line-height:20px;
}
#policy .section_text {
	margin:40px 0 0 0;
}
#policy .section_text p {
	font-size:16px;
	line-height:32px;
	text-align:justify;
}
#policy .section_text .mail_img {
    width: max-content;
    max-width: 100%;
}




/*FAQ*/
#faq {
}
#faq .section_list:nth-child(2) {
	margin:60px 0 0 0;
}





/*DETAIL*/
#detail {
}
#detail .section_contents {
    font-size:16px;
    line-height:32px;		
    text-align:justify;
}
#detail .section_contents h1,
#detail .section_contents h2,
#detail .section_contents h3,
#detail .section_contents h4,
#detail .section_contents h5,
#detail .section_contents h6 {
	font-family:"Jun 501",sans-serif;
}
#detail .section_contents h1 {
	font-size:32px; line-height:64px;
}
#detail .section_contents h2 {
	font-size:28px; line-height:56px;
}
#detail .section_contents h3 {
	font-size:24px; line-height:48px;
}
#detail .section_contents h4 {
	font-size:20px; line-height:40px;
}
#detail .section_contents h5 {
	font-size:16px; line-height:32px;
}
#detail .section_contents h6 {
	font-size:12px; line-height:24px;
}
#detail .section_contents hr {
	width:100%;
	height:0;
	border:0;
	border-width:0 0 1px 0;
	border-style:solid;
	border-color:rgba(7,60,47,1);
	background-color:rgba(7,60,47,0);
}
#detail .section_contents span {
	font-family:"Jun 201",sans-serif !important;
}
#detail .section_contents .aligncenter {
	display:block;
	margin:0 auto;
}
#detail .section_contents .alignright {
	float:right;
}
#detail .section_contents .alignleft {
	float:left;
}
#detail .section_contents img {
	width:auto;
	max-width:100%;
	height:auto;
	border-radius:30px;
}
#detail .section_contents a {
	text-decoration:underline;
}
#detail .section_contents iframe {
	width:100%;
	height:auto;
	aspect-ratio:16 / 9;		
}
.detail_none {
	width:100%;
	padding:120px 0 120px 0;
}
.detail_none p {
	font-size:20px;
	line-height:40px;
	text-align:center;
}





/*OUTLINE*/
.outline {
}
.outline .section_contents > .section_list:nth-child(2) {
	margin:60px 0 0 0;
}
#outline .list_right > div a {
	text-decoration:none;
}





/*LINK*/
.link {
}
.link .section_contents > .section_list:nth-child(2) {
	margin:60px 0 0 0;
}





/*SAFARI*/
.safari .button p {
	text-align:center;	
}
.safari .list_rectangle .list_text.display_sp > p:nth-child(1) {
	text-align:left;
}
.safari .list_rectangle .list_text > p:nth-child(1) {
	text-align:center;
}
.safari .list_rectangle .list_text > p:nth-child(3) {
	text-align:left;
}
.safari .list_rectangle .list_text > p:nth-child(4) {
	text-align:center;
}
.safari #activity #list .list_text > p:nth-child(2) span {
	text-align:left;
}





/*HOVER*/
.charter-root p,
.charter-root input,
.charter-root .button,
.charter-root .pager {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:color,border-color,background-color;	
}
.pc.red  a.color50:hover {
	color:rgba(139,135,196,1) !important;
}
.pc.blue  a.color50:hover {
	color:rgba(86,192,249,1) !important;
}
.pc.green  a.color50:hover {
	color:rgba(132,178,58,1) !important;
}
.pc.yellow  a.color50:hover {
	color:rgba(242,145,97,1) !important;
}
.pc.red a.border100:hover {
	background-color:rgba(139,135,196,1) !important;
}
.pc.blue a.border100:hover {
	background-color:rgba(86,192,249,1) !important;	
}
.pc.green a.border100:hover {
	background-color:rgba(132,178,58,1) !important;	
}
.pc.yellow a.border100:hover {
	background-color:rgba(242,145,97,1) !important;	
}
.pc.red a.border100:hover,
.pc.red a.border100:hover p,
.pc.blue a.border100:hover,
.pc.blue a.border100:hover p,
.pc.green a.border100:hover,
.pc.green a.border100:hover p,
.pc.yellow a.border100:hover,
.pc.yellow a.border100:hover p {
	color:rgba(255,255,255,1) !important;		
}
.pc.red a.border100.background100:hover,
.pc.blue a.border100.background100:hover,
.pc.green a.border100.background100:hover,
.pc.yellow a.border100.background100:hover {
	background-color:rgba(255,255,255,1) !important;	
}
.pc.red a.border100.background100:hover,
.pc.red a.border100.background100:hover p {
	color:rgba(139,135,196,1) !important;
}
.pc.blue a.border100.background100:hover,
.pc.blue a.border100.background100:hover p {
	color:rgba(86,192,249,1) !important;
}
.pc.green a.border100.background100:hover,
.pc.green a.border100.background100:hover p {
	color:rgba(132,178,58,1) !important;
}
.pc.yellow a.border100.background100:hover,
.pc.yellow a.border100.background100:hover p {
	color:rgba(242,145,97,1) !important;
}
.pc.red .charter-root .menu .button:hover,
.pc.blue .charter-root .menu .button:hover,
.pc.green .charter-root .menu .button:hover,
.pc.yellow .charter-root .menu .button:hover {	
	background-color:rgba(255,255,255,1) !important;
}
.pc.red .charter-root .menu .button:hover p {	
	color:rgba(139,135,196,1) !important;
}
.pc.blue .charter-root .menu .button:hover p {	
	color:rgba(86,192,249,1) !important;
}
.pc.green .charter-root .menu .button:hover p {	
	color:rgba(132,178,58,1) !important;
}
.pc.yellow .charter-root .menu .button:hover p {	
	color:rgba(242,145,97,1) !important;
}
.pc.red #home #hte .button:hover,
.pc.blue #home #hte .button:hover,
.pc.green #home #hte .button:hover,
.pc.yellow #home #hte .button:hover {	
	background-color:rgba(255,255,255,1) !important;
}
.pc.red #home #hte .button:hover p {
	color:rgba(139,135,196,1) !important;
}
.pc.blue #home #hte .button:hover p {
	color:rgba(86,192,249,1) !important;
}
.pc.green #home #hte .button:hover p {
	color:rgba(132,178,58,1) !important;
}
.pc.yellow #home #hte .button:hover p {
	color:rgba(242,145,97,1) !important;
}
.pc.red #project #sponsor .button:hover {
	background-color:rgba(139,135,196,1) !important;
}
.pc.blue #project #sponsor .button:hover {
	background-color:rgba(86,192,249,1) !important;
}
.pc.green #project #sponsor .button:hover {
	background-color:rgba(132,178,58,1) !important;
}
.pc.yellow #project #sponsor .button:hover {
	background-color:rgba(242,145,97,1) !important;
}
.pc.red #project #sponsor .button:hover p,
.pc.blue #project #sponsor .button:hover p,
.pc.green #project #sponsor .button:hover p,
.pc.yellow #project #sponsor .button:hover p {
	color:rgba(255,255,255,1) !important;
}
.pc.red #contact #form .section_button input:hover,
.pc.blue #contact #form .section_button input:hover,
.pc.green #contact #form .section_button input:hover,
.pc.yellow #contact #form .section_button input:hover {
	background-color:rgba(255,255,255,1) !important;
}
.pc.red #contact #form .section_button input:hover {
	color:rgba(139,135,196,1) !important;
}
.pc.blue #contact #form .section_button input:hover {
	color:rgba(86,192,249,1) !important;
}
.pc.green #contact #form .section_button input:hover {
	color:rgba(132,178,58,1) !important;
}
.pc.yellow #contact #form .section_button input:hover {
	color:rgba(242,145,97,1) !important;
}
.pc.red #home [id^="about"] .pager:hover {
	background-color:rgba(139,135,196,1) !important;
}
.pc.blue #home [id^="about"] .pager:hover {
	background-color:rgba(86,192,249,1) !important;
}
.pc.green #home [id^="about"] .pager:hover {
	background-color:rgba(132,178,58,1) !important;
}
.pc.yellow #home [id^="about"] .pager:hover {
	background-color:rgba(242,145,97,1) !important;
}
.pc.red #home #hte .pager:hover,
.pc.blue #home #hte .pager:hover,
.pc.green #home #hte .pager:hover,
.pc.yellow #home #hte .pager:hover {
	background-color:rgba(255,255,255,1) !important;
}
.list_image {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:transform;	
}
.list_image div span {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:transform;	
}
.list_icon div svg {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:transform,fill;		
}
.list_icon div p {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:transform,background-color;		
}
.list_text > p:nth-child(4) {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:color,border-color,background-color;	
}
.list_on.list_square .list_image {
    transform:rotate(10deg) !important;
}
.list_on.list_rectangle .list_image {
    transform:rotate(5deg);
}
.list_on .list_image div span {
	transform:scale(1.1);
}
.list_on.list_red .list_icon div svg {
	transform:rotate(360deg);
}
.list_on.list_blue .list_icon div svg {
	transform:rotate(450deg);
}
.list_on.list_green .list_icon div svg {
	transform:rotate(630deg);
}
.list_on.list_yellow .list_icon div svg {
	transform:rotate(540deg);
}
.red #slide .list_on .list_icon div svg:not(.list_icon_cat_svg) {
	transform:rotate(540deg);
}
.blue #slide .list_on .list_icon div svg:not(.list_icon_cat_svg) {
	transform:rotate(360deg);
}
.green #slide .list_on .list_icon div svg:not(.list_icon_cat_svg) {
	transform:rotate(450deg);
}
.yellow #slide .list_on .list_icon div svg:not(.list_icon_cat_svg) {
	transform:rotate(630deg);
}
.red #slide .list_on .list_icon div svg.list_icon_cat_svg {
	transform: rotate(calc(var(--slide-cat-on-red) + var(--slide-cat-offset))) scale(1.45);
}
.blue #slide .list_on .list_icon div svg.list_icon_cat_svg {
	transform: rotate(calc(var(--slide-cat-on-blue) + var(--slide-cat-offset))) scale(1.45);
}
.green #slide .list_on .list_icon div svg.list_icon_cat_svg {
	transform: rotate(calc(var(--slide-cat-on-green) + var(--slide-cat-offset))) scale(1.45);
}
.yellow #slide .list_on .list_icon div svg.list_icon_cat_svg {
	transform: rotate(calc(var(--slide-cat-on-yellow) + var(--slide-cat-offset))) scale(1.45);
}
.list_on .list_icon div p {
	transform:translateX(-50%) translateY(-50%) rotate(-30deg);
}
.list_on .list_text > p:nth-child(4) {
	color:rgba(255,255,255,1) !important;
}
.red .list_on .list_text > p:nth-child(4) {
	background-color:rgb(231, 230, 243);
}
.blue .list_on .list_text > p:nth-child(4) {
	background-color:rgba(86,192,249,1);
}
.green .list_on .list_text > p:nth-child(4) {
	background-color:rgba(132,178,58,1);
}
.yellow .list_on .list_text > p:nth-child(4) {
	background-color:rgba(242,145,97,1);
}
.charter-root .header_button a div span {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:transform;			
}
.pc .charter-root .header_button a:hover > div:nth-child(2) span {
    transform:translateX(25%);		
}
.pc.menu_on .charter-root .header_button a:hover > div:nth-child(2) span {
    transform:translateX(0%);		
}
.pager div svg {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:transform,fill;			
}
.pc .pager_prev:hover div svg {
	transform:rotate(-90deg);
}
.pc .pager_prev:hover div svg.pager_bus_svg {
	transform:rotate(calc(-1turn - 10deg));
}
.pc .pager_next:hover div svg {
	transform:rotate(450deg);
}
.pc .pager_next:hover div svg.pager_bus_svg {
	transform:rotate(calc(1turn + 10deg));
}

/* PROJECT 左上角 BUS：此規則須在 @media (max-width:1024px) 外，否則桌機版面不會套用 */
#home #project .list_rectangle .list_icon {
	width:calc((100% - 120px) / 2 / 8 * 5 / 6 * 2.25);
	min-width:96px;
	top:60px;
}
/* PROJECT BUS：雙色、靜態角、hover 角 — 必須在 media 外，否則桌機仍被 .list_* .list_icon div svg 的 0°/90°/270° 蓋掉 */
#home #project .list_icon div svg.list_icon_bus_svg,
#home #news .list_icon div svg.list_icon_bus_svg {
	fill:transparent !important;
	transform-origin:50% 50%;
}
#home #project .list_red .list_icon div svg.list_icon_bus_svg,
#home #news .list_red .list_icon div svg.list_icon_bus_svg {
	transform:rotate(-5deg);
}
#home #project .list_blue .list_icon div svg.list_icon_bus_svg,
#home #news .list_blue .list_icon div svg.list_icon_bus_svg {
	transform:rotate(-30deg);
}
#home #project .list_green .list_icon div svg.list_icon_bus_svg,
#home #news .list_green .list_icon div svg.list_icon_bus_svg {
	transform:rotate(10deg);
}
#home #project .list_on.list_red .list_icon div svg.list_icon_bus_svg,
#home #news .list_on.list_red .list_icon div svg.list_icon_bus_svg {
	transform:rotate(calc(1turn + 5deg));
}
#home #project .list_on.list_blue .list_icon div svg.list_icon_bus_svg,
#home #news .list_on.list_blue .list_icon div svg.list_icon_bus_svg {
	transform:rotate(calc(1turn + 10deg));
}
#home #project .list_on.list_green .list_icon div svg.list_icon_bus_svg,
#home #news .list_on.list_green .list_icon div svg.list_icon_bus_svg {
	transform:rotate(calc(1turn - 35deg));
}
#home #project .list_red .list_icon_bus_vehicle,
#home #news .list_red .list_icon_bus_vehicle {
	fill:rgb(139, 135, 196) !important;
}
#home #project .list_red .list_icon_bus_bg,
#home #news .list_red .list_icon_bus_bg {
	fill:rgb(221, 220, 238) !important;
}
#home #project .list_blue .list_icon_bus_vehicle,
#home #news .list_blue .list_icon_bus_vehicle {
	fill:rgb(86, 192, 249) !important;
}
#home #project .list_blue .list_icon_bus_bg,
#home #news .list_blue .list_icon_bus_bg {
	fill:rgb(252, 175, 158) !important;
}
#home #project .list_green .list_icon_bus_vehicle,
#home #news .list_green .list_icon_bus_vehicle {
	fill:rgb(132, 178, 58) !important;
}
#home #project .list_green .list_icon_bus_bg,
#home #news .list_green .list_icon_bus_bg {
	fill:rgb(224, 236, 206) !important;
}

/* NEWS 紅／藍小卡：巴士角標比預設 list_square 角標略大（僅縮小分母，不改其他主題卡） */
#home #news .list_square.list_red .list_icon,
#home #news .list_square.list_blue .list_icon {
	width: calc((100% - 60px) / 3);
	top: 50px;
}




@media (max-width:1024px){





/*COMMON*/
.kerning { letter-spacing:0; }
/* 僅作用於包車區，避免與官網全站 header／選單的 .display_pc 衝突 */
.charter-root .display_pc { display:none !important; }
.charter-root .display_sp { display:inline-block !important; }





/*BUTTON*/
.button {
	max-width:calc((100% - 20px) / 2);
	padding:0 18px 0 18px;
	border-radius:20px;
}
.button p {
	font-size:14px;
	line-height:36px;
	max-height:36px;
}





/*SELECT*/
.select {
	max-width:calc((100% - 20px) / 2);
}
.select select {
	padding:0 18px 0 18px;
	border-radius:20px;
	font-size:14px;
	line-height:36px;
}
.select svg {
	width:14px;
	right:18px;
}





/*PAGER*/
span.pager {
	font-size:14px;
	line-height:14px;	
}
.pager_number {
	font-size:14px;
	line-height:14px;	
}
.pager_index {
	width:calc((100% - 20px) / 2);
	font-size:14px;
	line-height:36px;
    border-radius:20px;
}





/*LIST*/
.list_link {
	width:calc(100% - 30px);	
	height:calc(100% - 30px);			
	top:15px;
	left:15px;
}
.list_icon {
	top:15px;
	left:15px;
}
.list_square {
	width:50%;	
	padding:15px 15px 15px 15px;	
}
.list_square .list_text > p:nth-child(1) {
	font-size:14px;
	line-height:28px;
	max-height:56px;
}
.list_square .list_text > p:nth-child(2) {
	max-height:40px;
}
.list_square .list_text > p:nth-child(2) a,
.list_square .list_text > p:nth-child(2) span {
	font-size:10px;
	line-height:10px;
}
#home #news .news_trip_period {
	font-size: 14px;
	line-height: 20px;
}
#home #news .list_square.list_red .list_icon,
#home #news .list_square.list_blue .list_icon {
	width: calc((100% - 30px) / 3);
	top: 32px;
}
.list_square .list_icon {
	width:calc((100% - 30px) / 6);	
}
.list_rectangle {
	padding:30px 15px 30px 15px;	
}
.list_rectangle .list_link {
	height:calc(100% - 60px);			
	top:30px;
}
.list_rectangle .list_image,
.list_rectangle .list_text {
	display:block;
	width:100%;
}
.list_rectangle .list_text {
	margin:20px 0 0 0;
	padding:0;
}
.list_rectangle .list_text > p:nth-child(1) {
	font-size:20px;
	line-height:40px;
	max-height:80px;
}
.list_rectangle .list_text > p:nth-child(2) {
	max-height:58px;
}
.list_rectangle .list_text > p:nth-child(2) a,
.list_rectangle .list_text > p:nth-child(2) span {
	font-size:14px;
	line-height:14px;
}
.list_rectangle .list_text > p:nth-child(2) > span:nth-child(1) {
	line-height:28px;
	margin:5px 0 0 0;
}
.list_rectangle .list_text > p:nth-child(3) {
	font-size:14px;
	line-height:28px;
	max-height:56px;
}
.list_rectangle .list_text > p:nth-child(4) {
	max-width:calc((100% - 20px) / 2);
	padding:0 18px 0 18px;
	margin-top:20px;
	font-size:14px;
	line-height:36px;
	border-radius:20px;
	max-height:40px;
}
.list_rectangle .list_icon {
	width:calc((100% - 30px) / 8 * 5 / 6);	
	top:30px;
}
#home #project .list_rectangle .list_icon {
	width:calc((100% - 30px) / 8 * 5 / 6 * 2.25);
	min-width:88px;
	top:46px;
}
.list_rectangle .list_text.display_sp {
	width:100%;
	margin:10px 0 0 0;
}
.list_rectangle .list_text.display_sp p {
	font-size:10px;
	line-height:20px;
	text-align:justify;
}
.list_top a p {
	font-size:14px;
	line-height:28px;
}
.list_top a > p:nth-child(1) {
	padding:24px 45px 24px 15px;
}
.list_top a > p:nth-last-child(3) {
	width:45px;	
    padding-left:0;
    padding-right:0;
}
.list_top a > p:nth-child(2) {
	width:calc(100% - 45px);	
	padding:24px 45px 24px 0;
}
.list_top a svg {
	width:14px;		
	right:15px;
}
.list_top a div {
	width:14px;		
	height:14px;		
	margin:-7px 0 0 0;		
	right:15px;
}
.list_bottom {
	padding:0 0 40px 0;
}
.list_bottom > p {
	width:45px;	
	margin:0;
	font-size:14px;
	line-height:28px;
}
.list_bottom > div {
	width:calc(100% - 45px);	
	padding:0 15px 0 0;
}
.list_bottom > div > div:nth-child(1),
.list_bottom > div > div:nth-child(1) span {
	font-size:14px !important;
	line-height:28px !important;
}
.list_bottom > div > div:nth-child(2),
.list_bottom > div > div:nth-child(2) span {
	font-size:10px !important;
	line-height:20px !important;
}
.list_bottom > div > div:nth-last-child(2) {
	margin:0 0 20px 0;
}
.list_left {
	display:block;
	width:100%;	
	padding:20px 15px 5px 15px;
}
.list_left p {
	font-size:14px;
	line-height:28px;
	text-align:left;	
}
.list_right {
	width:100%;	
	padding:5px 15px 20px 15px;
}
.list_right > div:nth-child(1),
.list_right > div:nth-child(1) span {
	font-size:14px !important;
	line-height:28px !important;
}
.list_right > div:nth-child(2),
.list_right > div:nth-child(2) span {
	font-size:10px !important;
	line-height:20px !important;
}
.list_right > div:nth-last-child(2) {
	margin:0 0 20px 0;
}
.list_right > div a img {
	width:14px;
	margin:1px 0 0 5px;
}
.list_none {
	padding:85px 15px 85px 15px;
}
.list_none p {
	font-size:14px;
	line-height:28px;
}





/*FIX*/
.fix_icon {
	bottom:30px;
	left:30px;	
}





/*MENU（小螢幕覆寫，僅 .charter-root）*/
.charter-root .menu {
	max-width:none;
	padding:10px 10px 10px 10px;
}
.charter-root .menu_inner {
	border-radius:25px;
}
.charter-root .menu_group {
	min-height:700px;	
}
.charter-root .menu_inner > .menu_group:nth-child(1) {
	padding:120px 45px 120px 45px;
}
.charter-root .menu_inner > .menu_group:nth-child(2) .menu_contents {
	bottom:50px;
	left:50px;
}
.charter-root .menu_navi a > p:nth-child(1) {
	font-size:18px;
	line-height:18px;	
}
.charter-root .menu_button .button {
	max-width:none;
    border-radius:25px;
}
.charter-root .menu_button .button p {
	line-height:46px;
	max-height:46px;
	padding-left:23px;
	padding-right:23px;
}





/*POPUP*/
.charter-root #popup_movie { width:calc(100% - 40px); }





/*HEADER（小螢幕覆寫，僅 .charter-root）*/
.charter-root .header_inner > .header_group:nth-child(1) {
	left:30px;	
}
.charter-root .header_inner > .header_group:nth-child(2) {
	width:calc(100% - 60px);
	right:30px;	
}
.charter-root .header_inner > .header_group:nth-child(2) .header_contents {
	position:relative;
}
.charter-root .header_logo {
	height:50px;
}
.charter-root .header_weather {
	position:absolute;
	top:105px;
	right:50%;
	transform:translateX(50%) translateY(-50%);
}
.charter-root .header_weather a p > span:nth-child(1) {
	font-size:18px;
	line-height:18px;	
}
/* 原全域 .header_navi{display:none} 會連官網（或同頁）的導覽列一起隱藏；改為僅包車內需要時再收合，此處不強制隱藏 */
.charter-root .header_button {
	width:50px;
	height:50px;
	margin:0;
}
.charter-root .header_button a div {
	width:26px;
	left:12px;	
}






/*SECTION*/
section {
	padding:120px 30px 40px 30px;
	margin:-80px 0 0 0;
}
.main_contents > section:nth-last-child(2) {
	padding-bottom:0;
}
.section_inner {
	max-width:none;
}
.section_title h1 {
	font-size:28px;
	line-height:56px;
}
.section_title h2 {
	font-size:24px;
	line-height:48px;	
}
.section_title h3 {
	font-size:20px;
	line-height:40px;	
}
.section_title p {
	font-size:14px;
	line-height:28px;	
}
.section_copy p {
	font-size:28px;
	line-height:56px;	
}
.section_text p {
	font-size:14px;
	line-height:28px;	
}





/*APP*/
.app .button {	
	margin:40px 0 0 0;
    border-radius:25px;
}
.app .section_button > .button:nth-child(1) {
	margin:0;
}
.app .button p {	
	line-height:46px;
	max-height:46px;
	padding-left:23px;
	padding-right:23px;
}





/*SLIDE*/
#slide {
	padding:80px 0 300px 0;	
}
#slide .list {
    max-height:360px;
	aspect-ratio:1 / 1;	
    top:50%;
    transform:translateY(-50%);
}
#slide .section_list > .list:nth-child(1),
#slide .section_list > .list:nth-child(3) {
	display:none;
}
#slide .section_contents > .section_pager:nth-child(2) {
	width:auto;
    max-height:360px;
	aspect-ratio:1 / 1;	
    top:50%;
    left:50%;
    transform:translateX(-50%) translateY(-50%);
}
#slide .pager_prev {
	left:0 !important;
}
#slide .pager_next {
	right:0 !important;
}





/*TITLE*/
#title {
	min-height:190px;
	margin:-460px 0 0 0 !important;
	padding-top:30px;
}
#title .section_title p {
    margin:0;
    font-size:0;
    line-height:0;
}
#title .section_title p a,
#title .section_title p span {
	font-size:14px;
	line-height:14px;
	margin:15px 0 0 0;
}
#title .section_title p span {
    margin-left:10px;
    margin-right:10px;
}
#title .section_title p > span:nth-last-child(1) {
	line-height:28px;
	margin:5px 0 0 0;
}





/*NAVI*/
#navi .button,
#navi .select {
	width:calc((100% - 20px) / 2);
	margin:20px 0 0 20px;
}
#navi .section_button > .button:nth-child(3),
#navi .section_button > .select:nth-child(3) {
	margin-top:20px;
}
#navi .section_button > .button:nth-child(3n+1),
#navi .section_button > .select:nth-child(3n+1) {
	margin-left:20px;
}
#navi .section_button > .button:nth-child(2n+1),
#navi .section_button > .select:nth-child(2n+1) {
	margin-left:0;
}





/*LIST*/
#list {
	padding-top:105px;
	padding-bottom:25px;
	padding-left:15px;
	padding-right:15px;
}
#list .section_inner {
	max-width:none;
}
#list .section_text {
	max-width:calc(100% - 30px);
	margin-top:20px;
}





/*PAGER*/
#pager .section_button {
	height:auto;
	padding:0 0 120px 0;
}
#pager span.pager,
#pager a.pager_number {
	top:0;
	transform:translateY(0%);
}
#pager .pager_prev,
#pager .pager_next {
	width:calc((100% - 20px) / 2);
	top:100%;
	transform:translateY(-100%);
	font-size:14px;
	line-height:36px;
    border-radius:20px;
}





/*GALLERY*/
#gallery {
	padding:190px 0 190px 0;	
}
#gallery .list {
	padding:0 30px 0 30px;
}
#gallery .list_link {
    width:calc(100% - 60px);
    left:30px;
}
#gallery .list_text {
	width:calc(100% - 60px);
	left:30px;
}
#gallery .list_text > p:nth-child(1) {
	line-height:14px;
	max-height:14px;
}
#gallery .list_icon {
	width:calc((100% - 60px) / 6);
    left:30px;
}





/*HOME*/
#home .section_title h2,
#home .section_title p {
	font-size:18px;
	line-height:36px;	
}





/*SLIDE*/
#home #slide .section_contents > .section_list:nth-child(2),
#home #slide .section_contents > .section_list:nth-child(4) {

}
#home #slide .list {
    position: absolute;
    top:50%;
    left: 0;
    transform:translateX(-50%) translateY(-50%) rotate(-90deg);
}
#slide .section_contents > .section_pager:nth-child(6) {
	width:auto;
    max-height:360px;
	aspect-ratio:1 / 1;	
    top:50%;
    left:50%;
    transform:translateX(-50%) translateY(-50%);
}
#home #slide .section_contents > .section_pager:nth-child(7) {
	top:calc(100% + 160px);
    left:calc(100% - 30px);
}
#home #slide .section_contents > .section_pager:nth-child(7) .pager p span {
	font-size:14px;
    line-height:14px;
}





/*TITLE*/
#home #title .section_inner {
    max-width:none;
}





/*ABOUT*/
#home [id^="about"] {
	height:auto !important;
	min-height:auto;
    margin-top:-80px;
	padding-top:120px;
	padding-bottom:40px;
	/* 與 #home #project 手機版相同左右留白 */
	padding-left:35px;
	padding-right:35px;
	box-sizing:border-box;
}
#home [id^="about"] .section_inner {
	max-width:none;
    height:auto;
}
#home [id^="about"] .section_inner > .section_group:nth-child(1) {
	position:relative;
    top:0;
    left:0;
}
#home [id^="about"] .section_inner > .section_group:nth-child(2),
#home [id^="about"] .section_inner > .section_group:nth-child(3) {
	width:100%;
    height:auto;
   	margin:40px 0 0 0;
   	padding:0;
}
/* 手機：文案區與上方輪播區距離縮小 */
#home [id^="about"] .section_inner > .section_group:nth-child(3) {
	margin-top:20px;
}
#home [id^="about"] .section_copy {
	margin-top:10px;
}
#home [id^="about"] .section_copy p {
	font-size:20px;
	line-height:36px;
}
#home [id^="about"] .section_inner > .section_group:nth-child(2) .section_contents {
    height:auto;
}
#home [id^="about"] .section_inner > .section_group:nth-child(3) .section_contents {
	padding:0;
	top:0;
    transform:translateY(0%);
}
#home [id^="about"] .section_image {
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;	
	border-radius:25px;
}
#home [id^="about"] .section_pager {
	bottom:30px;
	left:30px;
}
#home [id^="about"] .pager {
	width:10px;
	height:10px;
	margin:0 0 0 10px;
}
#home [id^="about"] .section_text {
	margin:20px 0 0 0;
}
#home [id^="about"] .section_button {
	margin:40px 0 0 0;
}





/*HTE*/
#home #hte {
    margin-top:-80px;
	padding-top:70px;
	padding-bottom:0;
	/* 與 #home #project 手機版相同：區塊左右留白，彩色底不貼齊螢幕邊 */
	padding-left:25px;
	padding-right:25px;
	box-sizing:border-box;
}
#home #hte .section_inner {
	max-width:none;
    display:block;
    padding:0 15px 32px 15px;
    border-radius:25px;
    box-sizing:border-box;
}
#home #hte .section_inner > .section_group:nth-child(1) {
	position:relative;
    top:0;
    left:0;
	padding-top:22px;
	/* 左緣與 #project `.section_title` 一致：螢幕 15px(#hte) + 15px(.section_inner) = 與 project 15px(區塊)+15px(.section_title 內距) 相同起點 */
	padding-left:0;
	margin-left:0;
}
/* 手機：車型介紹列左對齊；另加內距使離左緣略大於 #project 標題列 */
#home #hte .section_inner > .section_group:nth-child(1) .section_title {
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	align-items:baseline;
	column-gap:0.35em;
	text-align:left;
	padding-left:16px;
	box-sizing:border-box;
}
#home #hte .section_inner > .section_group:nth-child(1) .section_title h2 {
	margin:0;
	flex-shrink:0;
	white-space:nowrap;
}
#home #hte .section_inner > .section_group:nth-child(1) .section_title > p:nth-child(2) {
	margin:0;
	flex-shrink:0;
	white-space:nowrap;
}
/* 多車名疊預覽：與桌機 absolute 分離，改同一 grid 格以撐出正確寬度並與標題同一行 */
#home #hte .section_inner > .section_group:nth-child(1) .section_title > p:nth-child(3) {
	margin:0;
	position:relative;
	min-width:0;
	display:inline-grid;
	grid-template-columns:max-content;
	grid-template-rows:auto;
	align-items:baseline;
}
#home #hte .section_inner > .section_group:nth-child(1) .section_title > p:nth-child(3) > span {
	position:static !important;
	left:auto !important;
	top:auto !important;
	width:auto !important;
	white-space:nowrap;
	grid-row:1;
	grid-column:1;
}
#home #hte .section_inner > .section_group:nth-child(1) .section_title > p:nth-child(3) span span {
	white-space:nowrap;
}
/* 手機：「車型介紹」與車名逐字間距（蓋過 .kerning letter-spacing:0） */
#home #hte .section_inner > .section_group:nth-child(1) .section_title h2.scroll_text,
#home #hte .section_inner > .section_group:nth-child(1) .section_title > p:nth-child(2).scroll_text,
#home #hte .section_inner > .section_group:nth-child(1) .section_title > p:nth-child(3) .scroll_text {
	letter-spacing:0.14em;
}
/* 手機：底下文案區與「車型介紹」同左右內距 */
#home #hte .section_list {
	padding-left:16px;
	padding-right:16px;
	box-sizing:border-box;
	text-align:left;
}
#home #hte .section_list > div {
	text-align:left;
}
#home #hte .section_list .section_copy,
#home #hte .section_list .section_text {
	text-align:left;
}
#home #hte .section_list .section_copy p,
#home #hte .section_list .section_text p {
	text-align:left;
}
/* 第二欄（圖片輪播）左右微外擴，16:9 外框實際可用寬度加大；文案欄維持原寬 */
#home #hte .section_inner > .section_group:nth-child(2) {
	width:calc(100% + 28px);
	margin:28px -14px 0 -14px;
	padding:0;
	box-sizing:border-box;
}
#home #hte .section_inner > .section_group:nth-child(3) {
	width:100%;
	margin:28px 0 0 0;
	padding:0;
}
/* 勿對整塊 .section_image 用 transform:scale（版面高度不變會往上蓋標題） */
/* 手機：16:9 外框；寬度由列與箭頭間 flex 撐滿，圖片 object-fit:contain 勿再 scale */
#home #hte .section_image {
	width:100%;
	max-width:none;
	height:auto;
	aspect-ratio:16 / 9;
	margin:0 auto;
	transform:none;
	overflow:hidden;
	border-radius:28px;
}
#home #hte .section_image div div {
	padding:0 4px;
	display:flex;
	align-items:center;
	justify-content:center;
}
#home #hte .section_image div div img {
	max-width:100%;
	max-height:100%;
	width:auto;
	height:auto;
	object-fit:contain;
	display:block;
}

#home #hte .hte_visual_wrap {
	width:100%;
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:center;
	gap:6px;
	box-sizing:border-box;
	padding:0;
}
#home #hte .hte_visual_wrap .section_image {
	margin:0;
	flex:1 1 0;
	min-width:0;
	min-height:0;
	max-width:none;
	align-self:center;
	transform:none;
}
#home #hte .hte_nav {
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
	width:36px;
	height:36px;
	min-width:36px;
	min-height:36px;
	padding:0;
	margin:0;
	border:none;
	background:transparent;
	cursor:pointer;
	-webkit-tap-highlight-color:transparent;
	position:relative;
	z-index:340;
	touch-action:manipulation;
}
#home #hte .hte_nav::before {
	content:'';
	display:block;
	width:12px;
	height:12px;
	margin-left:3px;
	border-left:2.5px solid rgba(255,255,255,1);
	border-bottom:2.5px solid rgba(255,255,255,1);
	transform:rotate(45deg);
	box-sizing:border-box;
}
#home #hte .hte_nav_prev::before {
	margin-left:7px;
	margin-right:0;
}
#home #hte .hte_nav_next::before {
	margin-left:0;
	margin-right:5px;
	transform:rotate(-135deg);
}
#home #hte .section_pager {
	display:none;
}

#home #hte .pager {
	width:10px;
	height:10px;
	margin:0;
	background-color:transparent;
	flex-shrink:0;
}
#home #hte .section_text {
	margin:12px 0 0 0;
}
#home #hte .section_copy p {
    font-size:20px;
    line-height:30px;
}
#home #hte .section_list .section_text p {
	line-height:24px;
}
#home #hte .section_button {
	margin:40px 0 0 0;	
}
#home #hte .button {
    padding: 0 18px 0 18px;
}
#home #hte .button p {
	font-size:14px;
}







/*ACTIVITY*/
#home #activity {
	margin:0;
	margin-top:40px;
	padding-top:120px;
	padding-bottom:40px;
}
#home #activity .section_inner {
	max-width:none;
    display:block;
}
#home #activity .section_inner > .section_group:nth-child(1) {
	position:relative;
    top:0;
    left:0;
}
#home #activity .section_inner > .section_group:nth-child(2),
#home #activity .section_inner > .section_group:nth-child(3) {
	width:100%;
	margin:40px 0 0 0;
}
#home #activity .section_inner > .section_group:nth-child(2) {
	padding:40px 30px 40px 30px;
	border-radius:25px;
}
#home #activity .section_inner > .section_group:nth-child(3) {
	padding:0;
}
#home #activity .section_inner > .section_group:nth-child(3) .section_contents {
	padding:0;
}
#home #activity .section_image > div:nth-child(1) {
	border-radius:20px;
}
#home #activity .section_image > div:nth-child(1) p {
	font-size:14px;
	line-height:36px;
}
#home #activity .section_image > div:nth-child(2) {
	margin:30px 0 0 0;
}
#home #activity .section_image > div:nth-child(2) p {
	font-size:20px;
	line-height:40px;
}
#home #activity .section_image > div:nth-child(3),
#home #activity .section_image > div:nth-child(5),
#home #activity .section_image > div:nth-child(6),
#home #activity .section_image > div:nth-child(7) {
	border-radius:10px;
}
#home #activity .section_image > div:nth-child(3) {
	margin:30px 0 0 0;
}
#home #activity .section_image > div:nth-child(5),
#home #activity .section_image > div:nth-child(6),
#home #activity .section_image > div:nth-child(7) {
	margin:20px 0 0 0;
}
#home #activity .section_image > div:nth-child(3) p,
#home #activity .section_image > div:nth-child(5) p,
#home #activity .section_image > div:nth-child(6) p,
#home #activity .section_image > div:nth-child(7) p {
   	font-size:18px;
	line-height:46px;
}
#home #activity .section_image > div:nth-child(5) p span,
#home #activity .section_image > div:nth-child(6) p span,
#home #activity .section_image > div:nth-child(7) p span {
	width:20px;
	margin:-1 0 0 5px;
   	font-size:14px;
   	line-height:20px;
}
#home #activity .section_image > div:nth-child(4) {
	width:20px;
	height:20px;
	margin-top:20px;
}
#home #activity .section_text {
	margin:20px 0 0 0;
}
#home #activity .section_button {
	margin:40px 0 0 0;
}

/*GROUP BANNER mobile*/
#home #group_banner,
#home #schedule_banner {
	margin-top:40px;
	padding:20px 15px;
}
#home #fee_banner {
	margin-top:360px !important;
	padding:20px 15px;
	position:relative;
	z-index:150;
}
#home #group_banner .group_banner_text,
#home #schedule_banner .section_banner_text {
	font-size:18px;
	line-height:32px;
}
#home #fee_banner .group_banner_text {
	font-size:18px;
	line-height:32px;
}

/* 御居所帝王蟹商品：手機 #airfare／#flight_table／#fee_banner 與桌機模版比例一致（420／400），勿用全站 1750px＋≤429 大 calc（該頁航班表較高易顯得與其它商品不同） */
html[data-charter-product-id="hokkaido-royal-crab-toya-otsu-moiwa-5d"] #home #airfare {
	margin: 30px 0 2100px 0;
	padding: 20px 35px 60px 35px;
}
html[data-charter-product-id="hokkaido-royal-crab-toya-otsu-moiwa-5d"] #home #flight_table {
	margin-top: clamp(56px, 14vw, 104px) !important;
}
html[data-charter-product-id="hokkaido-royal-crab-toya-otsu-moiwa-5d"] #home #fee_banner {
	margin-top: 400px !important;
	padding: 20px 15px;
	position: relative;
	z-index: 150;
}

/*FLIGHT TABLE mobile：明確上/下外距，抵銷 section 的 -80px 並與 fee_banner 保留文件流空隙 */
#home #flight_table {
	margin-top: clamp(40px, 10vw, 88px) !important;
	padding:10px 16px 28px;
	margin-bottom: clamp(40px, 10vw, 96px) !important;
}
#home #flight_table .section_title {
	text-align:center;
}
#home #flight_table .section_title h2 {
	width:100%;
	text-align:center;
}
#home #flight_table .section_title h2 > span {
	display:inline-block;
	text-align:center;
	max-width:100%;
	vertical-align:top;
	font-size:18px;
	line-height:36px;
}
#home #flight_table .section_title h2 .airfare_title_sub {
	display:block;
	margin-top:6px;
	line-height:1.45;
	font-size:0.88em;
	text-align:center;
}
#home #flight_table .section_title_sub {
	font-size:12px;
	line-height:20px;
}
#home #flight_table .section_title .flight_table_remark_sp {
	display:block !important;
	width:100%;
	margin-top:8px;
	text-align:center;
	box-sizing:border-box;
}
/* 手機：航班表標題不要 scroll 由小放大（scroll_on 在區塊 .section_group 上） */
#home #flight_table .scroll_on .section_title h2.scroll_text > span {
	animation:none !important;
	opacity:1 !important;
	transform:scale(1) !important;
}
#home #flight_table .scroll_on .section_title h2.scroll_text .airfare_title_sub {
	transform:none;
	opacity:1;
}
/* 手機：整欄「備註」移除（<col> 在部分瀏覽器無效，需一併隱藏 th/td） */
#home #flight_table .flight_table col.flight_col_remarks {
	display:none !important;
	width:0 !important;
	min-width:0 !important;
	max-width:0 !important;
}
#home #flight_table .flight_table tbody td.flight_remarks,
#home #flight_table .flight_table tbody td.flight_info + td {
	display:none !important;
}
#home #flight_table .flight_table thead tr th:last-child {
	display:none !important;
	border-top-right-radius:0 !important;
}
/* 手機：備註欄隱藏後，改由第 6 欄（抵達時間）與末列行李說明格做右上／右下圓角 */
#home #flight_table .flight_table thead.background100 tr th:nth-child(6) {
	border-top-right-radius:12px;
}
#home #flight_table .flight_table tbody tr:last-child td:last-child {
	border-bottom-right-radius:0 !important;
}
#home #flight_table .flight_table tbody tr:last-child td.flight_info {
	border-bottom-right-radius:12px;
}
#home #flight_table .flight_table {
	font-size:13px;
}
#home #flight_table .flight_table th,
#home #flight_table .flight_table td {
	padding:10px 6px;
}
#home #flight_table .flight_airline {
	min-width:85px;
	font-size:14px;
}
#home #flight_table .flight_freq {
	font-size:11px;
	white-space: nowrap;
}
#home #flight_table .flight_info {
	font-size:12px;
}

/*FEE SECTION mobile*/
#home #fee_section {
	padding:30px 16px 50px;
	margin-top:clamp(32px, 8vw, 56px);
	margin-bottom:0px;
}
#home #fee_section .fee_block {
	flex-direction:column;
}
#home #fee_section .fee_column {
	min-width:100%;
	padding:24px 20px;
}
#home #fee_section .fee_column:first-child {
	border-right:none;
	border-bottom:1px solid #e8e8e8;
}
#home #fee_section .fee_column_title {
	font-size:16px;
	margin-bottom:16px;
}
#home #fee_section .fee_list li {
	font-size:14px;
	margin-bottom:14px;
	letter-spacing:0;
}
#home #fee_section .fee_notice {
	font-size:13px;
	padding:12px 14px;
	margin-top:20px;
}

/*FAQ mobile*/
#home #faq_section {
	padding:12px 16px 50px;
	margin-top:4px;
}
#home #faq_section .faq_title_head {
	padding:16px 18px;
	gap:10px;
}
#home #faq_section .faq_title_icon {
	width:24px;
	height:24px;
}
#home #faq_section .faq_main_title {
	font-size:16px;
}
#home #faq_section .faq_trigger {
	padding:14px 18px;
	font-size:15px;
}
#home #faq_section .faq_body {
	padding:16px 18px 20px 36px;
	font-size:14px;
	line-height:1.7;
	letter-spacing:0;
}

/* AIRFARE mobile：底緣需極大 margin-bottom，與小螢幕 section 的 margin-top:-80px 並存時才不致與下方區塊堆疊 */
#home #airfare {
	margin:30px 0 2100px 0;
	padding:20px 35px 60px 35px;
}
#home #airfare .airfare_item {
	padding-bottom:30px;
}
#home #airfare .airfare_item + .airfare_item {
	margin-top:30px;
	padding-top:30px;
}
#home #airfare .section_title {
	text-align:center;
}
#home #airfare .section_title h2 {
	width:100%;
	text-align:center;
}
#home #airfare .section_title h2 > span {
	display:inline-block;
	text-align:center;
	max-width:100%;
	vertical-align:top;
	font-size:18px;
	line-height:36px;
}
#home #airfare .section_title h2 .airfare_title_sub {
	display:block;
	margin-top:6px;
	line-height:1.45;
	font-size:0.88em;
	text-align:center;
}
#home #airfare .section_title_sub {
	font-size:12px;
	line-height:20px;
}
/* 手機：#airfare 內各區塊的 scroll_on 在 section_group 上（非整頁祖先），需寫成 #airfare .scroll_on */
#home #airfare .scroll_on .section_title h2.scroll_text > span {
	animation:none !important;
	opacity:1 !important;
	transform:scale(1) !important;
}
#home #airfare .scroll_on .section_title h2.scroll_text .airfare_title_sub {
	transform:none;
	opacity:1;
}
#home #airfare .airfare_plans {
	flex-direction:column;
	align-items:center;
	margin-top:30px;
	gap:15px;
}
#home #airfare .airfare_plan {
	min-width:90%;
	max-width:320px;
	padding:20px 16px;
}

/*PLAN*/
#home #plan {
}
#home #plan .section_title {
    padding:0 15px 0 15px;
}
#home #plan .section_list {
	margin:20px 0 0 0;
}





/*NEWS*/
#home #news {
	padding-left:15px;
	padding-right:15px;
	margin-top:72px;
	padding-top:8px;
	box-sizing:border-box;
}
#home #news .section_inner {
	max-width:none;
}
#home #news .section_title {
    padding:0 15px 0 15px;
}
#home #news .section_list {
	margin:35px 0 0 0;
}
#home #news .section_button {
	margin:45px 0 0 0;
}
#home #news .button {
	max-width:calc((100% - 50px) / 2);
}
#home .news_consult_above {
	padding-left:15px;
	padding-right:15px;
	margin-bottom:24px;
}





/*PROJECT*/
#home #project {
	padding-left:15px;
	padding-right:15px;
	margin-top:52px;
}
#home #project .section_inner {
	max-width:none;
}
#home #project .section_title {
    padding:0 15px 0 15px;
}
#home #project .section_list {
	margin:20px 0 0 0;
}
#home #project .section_button {
	margin:30px 0 0 0;
}
#home #project .button {
	max-width:calc((100% - 50px) / 2);
}
/* PROJECT 手機：標籤列（自然風光・文化風情…）垂直對齊；勿只讓第一個 span 用較大行高 */
#home #project .list_rectangle .list_text > p:nth-child(2) {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:baseline;
	gap:10px clamp(14px,4vw,22px);
	max-height:none;
	font-size:0;
	line-height:1;
}
#home #project .list_rectangle .list_text > p:nth-child(2) span,
#home #project .list_rectangle .list_text > p:nth-child(2) a {
	display:inline-block;
	margin:0 !important;
	line-height:1.35 !important;
	font-size:14px;
	letter-spacing:0.14em;
}
#home #project .list_rectangle .list_text > p:nth-child(2) > span:nth-child(1) {
	line-height:1.35 !important;
	margin:0 !important;
}
/* 分隔點「・」不要套用詞組字距 */
#home #project .list_rectangle .list_text > p:nth-child(2) span:not(.pjax_link) {
	letter-spacing: 0;
}





/*IMAGE*/
#image {
	padding-left:0;
	padding-right:0;
}
#image .section_inner {
	max-width:none;
}





/*CONCEPT*/
#concept .section_inner {
	max-width:none;
    display:block;
}
#concept .section_inner > .section_group:nth-child(2),
#concept .section_inner > .section_group:nth-child(3) {
	width:100%;	
    margin:0;    
	padding:0;
}
#concept .section_inner > .section_group:nth-child(2) {
    margin:40px 0 0 0;   
	margin-left:0;
}
#concept .section_inner > .section_group:nth-child(3) {
    margin:60px 0 0 0;   
}
#concept .section_copy {
	width:calc(100% - 60px);
	max-width:240px;
}
#concept .section_text {
	margin:40px 0 0 0;
}
#concept .section_image {
	width:calc(100% - 60px);
	max-width:240px;
	margin:0 auto;
}
#concept .section_image > div:nth-child(2) {
    margin:40px 0 0 0;
}
#concept .section_image div p {
	font-size:28px;
	line-height:28px;	
}





/*AREA*/
#area .section_inner {
	max-width:none;
    display:block;
}
#area .section_inner > .section_group:nth-child(2),
#area .section_inner > .section_group:nth-child(3) {
	width:100%;	
    margin:40px 0 0 0;    
	padding:0;
}
#area .section_inner > .section_group:nth-child(2) {
	margin-left:0;
}
#area .section_text {
	margin:20px 0 0 0;
}
#area .section_button {
	margin:40px 0 0 0;
}
#area .section_image > div:nth-child(2) {
    margin:20px 0 0 0;
}
#area .section_image div p {
	font-size:14px;
	line-height:28px;	
}





/*ACCESS*/
#access .section_image {
	aspect-ratio:1 / 1;	
	margin:40px 0 0 0;
	border-radius:25px;
}
#access .section_list {
	margin:40px 0 0 0;
}







/*HTU*/
#htu .section_image > div:nth-child(1) {
	border-radius:20px;
}
#htu .section_image > div:nth-child(1) p {
	font-size:14px;
	line-height:36px;
}
#htu .section_image > div:nth-child(2) {
	margin:30px 0 0 0;
}
#htu .section_image > div:nth-child(2) p {
	font-size:20px;
	line-height:40px;
}
#htu .section_image > div:nth-child(3),
#htu .section_image > div:nth-child(5),
#htu .section_image > div:nth-child(6),
#htu .section_image > div:nth-child(7) {
	display:block;
	width:100%;
	aspect-ratio:auto;	
	margin:20px 0 0 0;
   	border-radius:10px;
}
#htu .section_image > div:nth-child(3) {
	margin:30px 0 0 0;
}
#htu .section_image > div:nth-child(5),
#htu .section_image > div:nth-child(6),
#htu .section_image > div:nth-child(7) {
	margin-left:0;
}
#htu .section_image > div:nth-child(3) p,
#htu .section_image > div:nth-child(5) p,
#htu .section_image > div:nth-child(6) p,
#htu .section_image > div:nth-child(7) p {
	top:0;
    transform:translateY(0);
   	font-size:18px;
	line-height:46px;
}
#htu .section_image > div:nth-child(5) p span,
#htu .section_image > div:nth-child(6) p span,
#htu .section_image > div:nth-child(7) p span {
	display:inline-block;
	vertical-align:text-top;
	width:20px;
	margin:-1px 0 0 5px;
   	font-size:14px;
   	line-height:20px;
}
#htu .section_image > div:nth-child(4) {
	display:block;
	width:20px;
	height:20px;
	margin:0 auto;
	margin-top:20px;
}





/*PLAN*/
#plan {
	padding-bottom:10px;
	padding-left:15px;
	padding-right:15px;
}
#plan .section_inner {
	max-width:none;
}
#plan .section_text {
	max-width:calc(100% - 30px);
	margin-top:20px;
}
#plan .section_list {
	margin:30px 0 0 0;
}
#plan .list_none {
	padding:70px 15px 70px 15px;
}





/*LIST*/
#activity #list {
	padding-top:120px;
}
#activity #list .section_group {
	margin:30px 0 0 0;
}
#activity #list .section_inner > .section_group:nth-child(2) {
	margin:40px 0 0 0;
}
#activity #list .section_title {
	padding:0 15px 0 15px;
}
#activity #list .list_text > p:nth-child(2) {
	height:40px;
	margin:5px 0 0 0;
}
#activity #list .list_text > p:nth-child(2) span {
	font-size:10px;
	line-height:20px;
    max-height:40px;
}
#activity #list .list_none {
	padding:70px 15px 70px 15px;
}




/*LIST*/
#project #list {
	padding-top:90px;
	padding-bottom:10px;
}
#project #list .list_none {
	padding:70px 15px 70px 15px;
}





/*SPONSOR*/
#sponsor .section_inner {
	max-width:none;
	border-radius:25px;
	padding:30px 30px 40px 30px;
}
#sponsor .section_text {
	max-width:none;
	margin-top:20px;
}
#sponsor .section_button {
	margin:40px 0 0 0;
}
#sponsor .button {
	max-width:calc((100% + 40px) / 2);
}





/*FORM*/
#form .section_inner > .section_group:nth-child(2) {
	margin:40px 0 0 0;
}
#form .list {
	margin:40px 0 0 0;
}
#form form > .list:nth-last-child(2) {
    margin:30px 0 0 0;
}
#form .list_left {
	width:100%;
}
#form .list_left p {
	font-size:14px;
    line-height:14px;
}
#form .list_right {
	width:100%;
	margin:15px 0 0 0;
}
#form .list_right input,
#form .list_right textarea,
#form .list_right select {
	padding-left:23px;
	padding-right:23px;
    border-radius:25px;
}
#form .list_right input,
#form .list_right textarea {
	padding-top:9px;
	padding-bottom:9px;
	font-size:14px;
    line-height:28px;
}
#form .list_right textarea {
	height:200px;	
}
#form .list_right select {
	padding-top:16px;
	padding-bottom:16px;
	font-size:14px;
    line-height:14px;
}
#form .list_right svg {
	width:14px;
    right:23px;
}
#form .section_text p {
    font-size:14px;
    line-height:28px;
}
#form .section_button {
	margin:30px 0 0 0;
}
#form .section_button input {
	max-width:calc((100% - 20px) / 2);
	font-size:14px;
	line-height:36px;
    border-radius:20px;
}
span.wpcf7-not-valid-tip {
    margin:15px 0 0 0;
    font-size:10px;
    line-height:10px;
    letter-spacing:0;
}
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing,
div.wpcf7-response-output {
	margin:40px 0 0 0;
	border-radius:25px;
    font-size:14px;
    line-height:46px;
    letter-spacing:0;
}





/*POLICY*/
#policy .section_group {
	width:100%;
	height:200px;
	margin:0;
	padding:40px 30px 40px 30px;
	border-radius:25px;
}
#policy .section_title h2 {
	font-size:20px;
	line-height:20px;
}
#policy .section_text {
	margin:20px 0 0 0;
}
#policy .section_text p {
	font-size:14px;
	line-height:28px;
}





/*FAQ*/
#faq {
}
#faq .section_list:nth-child(2) {
	margin:40px 0 0 0;
}





/*DETAIL*/
#detail .section_contents {
    font-size:14px;
    line-height:28px;		
}
#detail .section_contents h1 {
	font-size:30px; line-height:60px;
}
#detail .section_contents h2 {
	font-size:26px; line-height:52px;
}
#detail .section_contents h3 {
	font-size:22px; line-height:44px;
}
#detail .section_contents h4 {
	font-size:18px; line-height:36px;
}
#detail .section_contents h5 {
	font-size:14px; line-height:28px;
}
#detail .section_contents h6 {
	font-size:10px; line-height:20px;
}
#detail .section_contents img {
	border-radius:25px;
}





/*OUTLINE*/
.outline .section_contents > .section_list:nth-child(2) {
	margin:40px 0 0 0;
}





/*LINK*/
.link {
}
.link .section_contents > .section_list:nth-child(2) {
	margin:40px 0 0 0;
}






.load_logo { width:100px; height:100px; }
.section_weather {
	top:135px;
	right:50%;
	transform:translateX(50%) translateY(-50%);
}
.section_weather a p > span:nth-child(1) {
	font-size:18px;
	line-height:18px;	
}
#home .section_title h2 span, #home .section_title p span {
    font-size: 18px;
    line-height: 36px;
}
#home #hte .section_title > p:nth-child(3) span span {
    font-size: 18px;
    line-height: 36px;
}



.charter-root .header_logo a img {
	transition-duration:0.5s;
	transition-timing-function:ease-in-out;
	transition-property:opacity;	
}
.menu_on .charter-root .header_logo a > img:nth-child(1) {
	opacity:1;
}
.menu_on .charter-root .header_logo a > img:nth-child(2) {
	opacity:0;
}



.section_title h2 span {
font-size: 24px;
    line-height: 48px;
}



.section_button3 {
	text-align:left;
}


#pager .section_button3 {
	text-align:center;
}
.section_title h3 span {
    font-size: 20px;
    line-height: 40px;
}

.list_text.display_sp {
	text-align:left !important;
}



.list_icon div p {
	width:calc(100% * 1.75);
	height:calc(100% * 1.75);	
}
.list_rectangle .list_icon div p span {
	transform:translateX(-50%) translateY(-50%) scale(1);
}



#slide .list_icon div p,
#gallery .list_icon div p {
	width:calc(100% * 1.5);
	height:calc(100% * 1.5);	
}
#slide .list_icon div p span,
#gallery .list_icon div p span {
	transform:translateX(-50%) translateY(-50%) scale(1.125);
}




#slide .list_icon div p,
#gallery .list_icon div p {
	min-width:75px;
	min-height:75px;	
}






#home #activity .section_inner > .section_group:nth-child(2) {
	min-height:auto;
}
#home #activity .section_inner > .section_group:nth-child(2) .section_contents {
	width:100%;
	position:relative;
	top:0;
	left:0;
    transform:translateX(0) translateY(0);
}





}
@media (max-width:1024px) and (min-height:740px){


.section_weather {
	top:calc((100vh - 360px) / 4 + 40px);
}


.charter-root .header_weather {
	top:calc((100vh - 360px) / 4 + 10px);
}
#title {
	height:calc((100vh - 360px) / 2);
	min-height:auto;
	margin:calc((100vh - 360px) / 2 * -1) 0 0 0;
	padding:0 0 40px 0;
}
#title .section_inner {
	height:100%;
}
#title .section_group {
	height:100%;
}
#title .section_contents {
	position:relative;
	top:50%;
    transform:translateY(-50%);
}

}




 /*OPEN*/
.charter-root.open_on .load { animation:open_on1 0.5s ease-in-out forwards; }
@keyframes open_on1 {
	0% { opacity:0; }
	100% { opacity:1; }
}
.charter-root.open_off .load { animation:open_off1 0.5s ease-in-out forwards; }
@keyframes open_off1 {
	0% { opacity:1; }
	100% { opacity:0; }
}
.charter-root.open_on .load_logo > img:nth-child(1),.charter-root.open_off .load_logo > img:nth-child(1) { animation:load_logo1 2s ease-in-out 0.5s forwards; }
.charter-root.open_on .load_logo > img:nth-child(2),.charter-root.open_off .load_logo > img:nth-child(2) { animation:load_logo2 2s ease-in-out 0.5s forwards; }
.charter-root.open_on .load_logo > img:nth-child(3),.charter-root.open_off .load_logo > img:nth-child(3) { animation:load_logo3 2s ease-in-out 0.5s forwards; }
.charter-root.open_on .load_logo > img:nth-child(4),.charter-root.open_off .load_logo > img:nth-child(4) { animation:load_logo4 2s ease-in-out 0.5s forwards; }
@keyframes load_logo1 {
	0% { opacity:1; }
	25% { opacity:0; }
	50% { opacity:0; }
	75% { opacity:0; }
	100% { opacity:0; }
}
@keyframes load_logo2 {
	0% { opacity:0; }
	25% { opacity:1; }
	50% { opacity:0; }
	75% { opacity:0; }
	100% { opacity:0; }
}
@keyframes load_logo3 {
	0% { opacity:0; }
	25% { opacity:0; }
	50% { opacity:1; }
	75% { opacity:0; }
	100% { opacity:0; }
}
@keyframes load_logo4 {
	0% { opacity:0; }
	25% { opacity:0; }
	50% { opacity:0; }
	75% { opacity:1; }
	100% { opacity:0; }
}
.charter-root.load_on header,
.charter-root.load_off header,
.charter-root.load_on .back,
.charter-root.load_off .back { animation:open_on2 0.5s ease-in-out forwards; }
@keyframes open_on2 {
	0% { opacity:0; }
	100% { opacity:1; }
}





/*LOAD*/
.charter-root.load_on main { animation:load_on1 0.5s ease-in-out forwards; }
@keyframes load_on1 {
	0% { opacity:1; }
	100% { opacity:0; }
}
/* 載入完成／PJAX 結束：直接顯示，不依賴 load_off1 動畫（嵌入後台常導致動畫未跑而整頁空白） */
.charter-root.load_off main {
	opacity: 1;
}
.charter-root.load_on #slide .list,
.charter-root.load_on #gallery .list { animation:load_on2 0.5s ease-in-out forwards; }
@keyframes load_on2 {
	0% { transform:scale(1); }
	100% { transform:scale(0.9); }
}
.charter-root.load_off #slide .list,
.charter-root.load_off #gallery .list { animation:load_off2 0.5s ease-in-out forwards; }
@keyframes load_off2 {
	0% { transform:scale(0.9); }
	100% { transform:scale(1); }
}
.charter-root.load_on #slide .section_list > .list:nth-child(2) { animation:load_on3 0.5s ease-in-out forwards; }
@keyframes load_on3 {
	0% { transform:translateX(0%) translateY(0%) rotate(0deg); }
	100% { transform:translateX(-50%) translateY(50%) rotate(-45deg); }
}
.charter-root.load_off #slide .section_list > .list:nth-child(2) { animation:load_off3 0.5s ease-in-out forwards; }
@keyframes load_off3 {
	0% { transform:translateX(50%) translateY(-50%) rotate(45deg); }
	100% { transform:translateX(0%) translateY(0%) rotate(0deg); }
}
.charter-root.load_on.load_prev #slide .section_list > .list:nth-child(2) { animation:load_on4 0.5s ease-in-out forwards; }
@keyframes load_on4 {
	0% { transform:translateX(0%) translateY(0%) rotate(0deg); }
	100% { transform:translateX(50%) translateY(-50%) rotate(45deg); }
}
.charter-root.load_off.load_prev #slide .section_list > .list:nth-child(2) { animation:load_off4 0.5s ease-in-out forwards; }
@keyframes load_off4 {
	0% { transform:translateX(-50%) translateY(50%) rotate(-45deg); }
	100% { transform:translateX(0%) translateY(0%) rotate(0deg); }
}
.charter-root.load_on #slide .list_icon div { animation:load_on5 0.5s ease-in-out forwards; }
@keyframes load_on5 {
	0% { transform:scale(1) rotate(var(--slide-icon-load-rotate-from)); }
	100% { transform:scale(0) rotate(var(--slide-icon-load-rotate-to)); }
}
.charter-root.load_off #slide .list_icon div { animation:load_off5 0.5s ease-in-out forwards; }
@keyframes load_off5 {
	0% { transform:scale(0) rotate(var(--slide-icon-load-rotate-from)); }
	100% { transform:scale(1) rotate(var(--slide-icon-load-rotate-to)); }
}
.charter-root.load_on.load_prev #slide .list_icon div { animation:load_on6 0.5s ease-in-out forwards; }
@keyframes load_on6 {
	0% { transform:scale(1) rotate(var(--slide-icon-load-rotate-from)); }
	100% { transform:scale(0) rotate(var(--slide-icon-load-rotate-to-rev)); }
}
.charter-root.load_off.load_prev #slide .list_icon div { animation:load_off6 0.5s ease-in-out forwards; }
@keyframes load_off6 {
	0% { transform:scale(0) rotate(var(--slide-icon-load-rotate-from)); }
	100% { transform:scale(1) rotate(var(--slide-icon-load-rotate-to-rev)); }
}
.charter-root.load_on #slide .pager div { animation:load_on7 0.5s ease-in-out forwards; }
@keyframes load_on7 {
	0% { transform:scale(1); }
	100% { transform:scale(0); }
}
.charter-root.load_off #slide .pager div { animation:load_off7 0.5s ease-in-out forwards; }
@keyframes load_off7 {
	0% { transform:scale(0); }
	100% { transform:scale(1); }
}
/* 手機專用：#slide 換頁鈕載入不要 scale（由 max-width:1024px 內覆寫 animation） */
@keyframes load_on7_spflat {
	0%, 100% { transform: scale(1); }
}
.charter-root.load_on .fix_icon div span { animation:load_on8 0.5s ease-in-out forwards; }
@keyframes load_on8 {
	0% { transform:scale(1); }
	100% { transform:scale(0); }
}
.charter-root.load_off .fix_icon div span { animation:load_off8 0.5s ease-in-out 0.5s forwards; }
@keyframes load_off8 {
	0% { transform:scale(0); }
	100% { transform:scale(1); }
}
.charter-root.load_on.slide_first #home #slide .list { animation:none; }
.charter-root.load_off.slide_first #home #slide .list { animation:none; }
@media (max-width:1024px){
	.charter-root.load_on #slide .section_list > .list:nth-child(2) { animation:load_on3_sp 0.5s ease-in-out forwards; }
	.charter-root.load_off #slide .section_list > .list:nth-child(2) { animation:load_off3_sp 0.5s ease-in-out forwards; }
	.charter-root.load_on.load_prev #slide .section_list > .list:nth-child(2) { animation:load_on4_sp 0.5s ease-in-out forwards; }
	.charter-root.load_off.load_prev #slide .section_list > .list:nth-child(2) { animation:load_off4_sp 0.5s ease-in-out forwards; }
	.slide_left,.slide_right { opacity:0; }
}
@keyframes load_on3_sp {
	0% { transform:translateX(0%) translateY(-50%) rotate(0deg); }
	100% { transform:translateX(0%) translateY(0%) rotate(-45deg); }
}
@keyframes load_off3_sp {
	0% { transform:translateX(0%) translateY(-100%) rotate(45deg); }
	100% { transform:translateX(0%) translateY(-50%) rotate(0deg); }
}
@keyframes load_on4_sp {
	0% { transform:translateX(0%) translateY(-50%) rotate(0deg); }
	100% { transform:translateX(0%) translateY(-100%) rotate(45deg); }
}
@keyframes load_off4_sp {
	0% { transform:translateX(0%) translateY(0%) rotate(-45deg); }
	100% { transform:translateX(0%) translateY(-50%) rotate(0deg); }
}





/*SCROLL*/
.scroll_on1 { animation:scroll_on1 0.5s ease-in-out forwards; }
@keyframes scroll_on1 {
	0% { opacity:0; }
	100% { opacity:1; }
}
.scroll_off1 { animation:scroll_off1 0.5s ease-in-out forwards; }
@keyframes scroll_off1 {
	0% { opacity:1; }
	100% { opacity:0; }
}
.scroll_on2 { animation:scroll_on2 0.5s ease-in-out forwards; }
@keyframes scroll_on2 {
	0% { opacity:0; transform:translateY(30px); }
	100% { opacity:1; transform:translateY(0px); }
}
.scroll_off2 { animation:scroll_off2 0.5s ease-in-out forwards; }
@keyframes scroll_off2 {
	0% { opacity:1; transform:translateY(0px); }
	100% { opacity:0; transform:translateY(30px); }
}
.scroll_on .scroll_image { animation:scroll_on3 0.5s ease-in-out forwards; }
@keyframes scroll_on3 {
	0% { transform:scale(1.1); }
	100% { transform:scale(1); }
}
.scroll_off .scroll_image { animation:scroll_off3 0.5s ease-in-out forwards; }
@keyframes scroll_off3 {
	0% { transform:scale(1); }
	100% { transform:scale(1.1); }
}
.scroll_on .scroll_icon { animation:scroll_on4 0.5s ease-in-out forwards; }
@keyframes scroll_on4 {
	0% { transform:scale(0); }
	100% { transform:scale(1); }
}
.scroll_off .scroll_icon { animation:scroll_off4 0.5s ease-in-out forwards; }
@keyframes scroll_off4 {
	0% { transform:scale(1); }
	100% { transform:scale(0); }
}
.scroll_on .scroll_text > span:nth-child(1) { animation:scroll_on5 0.5s ease-in-out 0s forwards; }
.scroll_on .scroll_text > span:nth-child(2) { animation:scroll_on5 0.5s ease-in-out 0.025s forwards; }
.scroll_on .scroll_text > span:nth-child(3) { animation:scroll_on5 0.5s ease-in-out 0.05s forwards; }
.scroll_on .scroll_text > span:nth-child(4) { animation:scroll_on5 0.5s ease-in-out 0.075s forwards; }
.scroll_on .scroll_text > span:nth-child(5) { animation:scroll_on5 0.5s ease-in-out 0.1s forwards; }
.scroll_on .scroll_text > span:nth-child(6) { animation:scroll_on5 0.5s ease-in-out 0.125s forwards; }
.scroll_on .scroll_text > span:nth-child(7) { animation:scroll_on5 0.5s ease-in-out 0.15s forwards; }
.scroll_on .scroll_text > span:nth-child(8) { animation:scroll_on5 0.5s ease-in-out 0.175s forwards; }
.scroll_on .scroll_text > span:nth-child(9) { animation:scroll_on5 0.5s ease-in-out 0.2s forwards; }
.scroll_on .scroll_text > span:nth-child(10) { animation:scroll_on5 0.5s ease-in-out 0.225s forwards; }
.scroll_on .scroll_text > span:nth-child(11) { animation:scroll_on5 0.5s ease-in-out 0.25s forwards; }
.scroll_on .scroll_text > span:nth-child(12) { animation:scroll_on5 0.5s ease-in-out 0.275s forwards; }
.scroll_on .scroll_text > span:nth-child(13) { animation:scroll_on5 0.5s ease-in-out 0.3s forwards; }
.scroll_on .scroll_text > span:nth-child(14) { animation:scroll_on5 0.5s ease-in-out 0.325s forwards; }
.scroll_on .scroll_text > span:nth-child(15) { animation:scroll_on5 0.5s ease-in-out 0.35s forwards; }
.scroll_on .scroll_text > span:nth-child(16) { animation:scroll_on5 0.5s ease-in-out 0.375s forwards; }
.scroll_on .scroll_text > span:nth-child(17) { animation:scroll_on5 0.5s ease-in-out 0.4s forwards; }
.scroll_on .scroll_text > span:nth-child(18) { animation:scroll_on5 0.5s ease-in-out 0.425s forwards; }
.scroll_on .scroll_text > span:nth-child(19) { animation:scroll_on5 0.5s ease-in-out 0.45s forwards; }
.scroll_on .scroll_text > span:nth-child(20) { animation:scroll_on5 0.5s ease-in-out 0.475s forwards; }
.scroll_on .scroll_text > span:nth-child(21) { animation:scroll_on5 0.5s ease-in-out 0.5s forwards; }
.scroll_on .scroll_text > span:nth-child(22) { animation:scroll_on5 0.5s ease-in-out 0.525s forwards; }
.scroll_on .scroll_text > span:nth-child(23) { animation:scroll_on5 0.5s ease-in-out 0.55s forwards; }
.scroll_on .scroll_text > span:nth-child(24) { animation:scroll_on5 0.5s ease-in-out 0.575s forwards; }
.scroll_on .scroll_text > span:nth-child(25) { animation:scroll_on5 0.5s ease-in-out 0.6s forwards; }
.scroll_on .scroll_text > span:nth-child(26) { animation:scroll_on5 0.5s ease-in-out 0.625s forwards; }
.scroll_on .scroll_text > span:nth-child(27) { animation:scroll_on5 0.5s ease-in-out 0.65s forwards; }
.scroll_on .scroll_text > span:nth-child(28) { animation:scroll_on5 0.5s ease-in-out 0.675s forwards; }
.scroll_on .scroll_text > span:nth-child(29) { animation:scroll_on5 0.5s ease-in-out 0.7s forwards; }
.scroll_on .scroll_text > span:nth-child(30) { animation:scroll_on5 0.5s ease-in-out 0.725s forwards; }
@keyframes scroll_on5 {
	0% { transform:scale(0); }
	100% { transform:scale(1); }
}
.scroll_off .scroll_text > span:nth-child(1) { animation:scroll_off5 0.5s ease-in-out 0s forwards; }
.scroll_off .scroll_text > span:nth-child(2) { animation:scroll_off5 0.5s ease-in-out 0.025s forwards; }
.scroll_off .scroll_text > span:nth-child(3) { animation:scroll_off5 0.5s ease-in-out 0.05s forwards; }
.scroll_off .scroll_text > span:nth-child(4) { animation:scroll_off5 0.5s ease-in-out 0.075s forwards; }
.scroll_off .scroll_text > span:nth-child(5) { animation:scroll_off5 0.5s ease-in-out 0.1s forwards; }
.scroll_off .scroll_text > span:nth-child(6) { animation:scroll_off5 0.5s ease-in-out 0.125s forwards; }
.scroll_off .scroll_text > span:nth-child(7) { animation:scroll_off5 0.5s ease-in-out 0.15s forwards; }
.scroll_off .scroll_text > span:nth-child(8) { animation:scroll_off5 0.5s ease-in-out 0.175s forwards; }
.scroll_off .scroll_text > span:nth-child(9) { animation:scroll_off5 0.5s ease-in-out 0.2s forwards; }
.scroll_off .scroll_text > span:nth-child(10) { animation:scroll_off5 0.5s ease-in-out 0.225s forwards; }
.scroll_off .scroll_text > span:nth-child(11) { animation:scroll_off5 0.5s ease-in-out 0.25s forwards; }
.scroll_off .scroll_text > span:nth-child(12) { animation:scroll_off5 0.5s ease-in-out 0.275s forwards; }
.scroll_off .scroll_text > span:nth-child(13) { animation:scroll_off5 0.5s ease-in-out 0.3s forwards; }
.scroll_off .scroll_text > span:nth-child(14) { animation:scroll_off5 0.5s ease-in-out 0.325s forwards; }
.scroll_off .scroll_text > span:nth-child(15) { animation:scroll_off5 0.5s ease-in-out 0.35s forwards; }
.scroll_off .scroll_text > span:nth-child(16) { animation:scroll_off5 0.5s ease-in-out 0.375s forwards; }
.scroll_off .scroll_text > span:nth-child(17) { animation:scroll_off5 0.5s ease-in-out 0.4s forwards; }
.scroll_off .scroll_text > span:nth-child(18) { animation:scroll_off5 0.5s ease-in-out 0.425s forwards; }
.scroll_off .scroll_text > span:nth-child(19) { animation:scroll_off5 0.5s ease-in-out 0.45s forwards; }
.scroll_off .scroll_text > span:nth-child(20) { animation:scroll_off5 0.5s ease-in-out 0.475s forwards; }
.scroll_off .scroll_text > span:nth-child(21) { animation:scroll_off5 0.5s ease-in-out 0.5s forwards; }
.scroll_off .scroll_text > span:nth-child(22) { animation:scroll_off5 0.5s ease-in-out 0.525s forwards; }
.scroll_off .scroll_text > span:nth-child(23) { animation:scroll_off5 0.5s ease-in-out 0.55s forwards; }
.scroll_off .scroll_text > span:nth-child(24) { animation:scroll_off5 0.5s ease-in-out 0.575s forwards; }
.scroll_off .scroll_text > span:nth-child(25) { animation:scroll_off5 0.5s ease-in-out 0.6s forwards; }
.scroll_off .scroll_text > span:nth-child(26) { animation:scroll_off5 0.5s ease-in-out 0.625s forwards; }
.scroll_off .scroll_text > span:nth-child(27) { animation:scroll_off5 0.5s ease-in-out 0.65s forwards; }
.scroll_off .scroll_text > span:nth-child(28) { animation:scroll_off5 0.5s ease-in-out 0.675s forwards; }
.scroll_off .scroll_text > span:nth-child(29) { animation:scroll_off5 0.5s ease-in-out 0.7s forwards; }
.scroll_off .scroll_text > span:nth-child(30) { animation:scroll_off5 0.5s ease-in-out 0.725s forwards; }
@keyframes scroll_off5 {
	0% { transform:scale(1); }
	100% { transform:scale(0); }
}





/*HOVER*/
.line_on span { animation:line_on1 0.5s ease-in-out forwards; }
@keyframes line_on1 {
	0% { opacity:1; transform:translateX(0%); }
	49% { opacity:1; transform:translateX(100%); }
	49.5% { opacity:0; transform:translateX(100%); }
	50.5% { opacity:0; transform:translateX(-100%); }
	51% { opacity:1; transform:translateX(-100%); }
	100% { opacity:1; transform:translateX(0%); }
}





/*BACK*/
.charter-root.back_on .back_icon div { animation:back_on1 1s ease-in-out forwards; }
@keyframes back_on1 {
	0% { transform:scale(0); }
	100% { transform:scale(1); }
}
.charter-root.back_off .back_icon div { animation:back_off1 1s ease-in-out forwards; }
@keyframes back_off1 {
	0% { transform:scale(1); }
	100% { transform:scale(0); }
}





/*FIX*/
.charter-root.load_on .fix_icon div,
.charter-root.load_off .fix_icon div { animation:fix_icon1 2s ease-in-out 0.5s infinite; }
@keyframes fix_icon1 {
	0% { top:0%; transform:translateY(0%); }
	50% { top:100%; transform:translateY(-100%); }
	100% { top:0%; transform:translateY(0%); }
}










/*IMAGE*/
#image .scroll_on .section_image > img:nth-child(2) { animation:image_image1 10s ease-in-out infinite; }
#image .scroll_on .section_image > img:nth-child(3) { animation:image_image2 10s ease-in-out infinite; }
#image .scroll_on .section_image > img:nth-child(4) { animation:image_image3 10s ease-in-out infinite; }
#image .scroll_on .section_image > img:nth-child(5) { animation:image_image4 10s ease-in-out infinite; }
@keyframes image_image1 {
	0% { opacity:0; }
	5% { opacity:0; }
	10% { opacity:1; }
	95% { opacity:1; }
	100% { opacity:0; }
}
@keyframes image_image2 {
	0% { opacity:0; }
	20% { opacity:0; }
	25% { opacity:1; }
	95% { opacity:1; }
	100% { opacity:0; }
}
@keyframes image_image3 {
	0% { opacity:0; }
	35% { opacity:0; }
	40% { opacity:1; }
	95% { opacity:1; }
	100% { opacity:0; }
}
@keyframes image_image4 {
	0% { opacity:0; }
	50% { opacity:0; }
	55% { opacity:1; }
	95% { opacity:1; }
	100% { opacity:0; }
}





/*CONCEPT*/
#concept .scroll_on .section_image div > img:nth-child(2) { animation:concept_image1 10s ease-in-out infinite; }
#concept .scroll_on .section_image div > img:nth-child(3) { animation:concept_image2 10s ease-in-out infinite; }
#concept .scroll_on .section_image div > img:nth-child(4) { animation:concept_image3 10s ease-in-out infinite; }
#concept .scroll_on .section_image div > img:nth-child(5) { animation:concept_image4 10s ease-in-out infinite; }
@keyframes concept_image1 {
	0% { opacity:0; }
	5% { opacity:0; }
	10% { opacity:1; }
	95% { opacity:1; }
	100% { opacity:0; }
}
@keyframes concept_image2 {
	0% { opacity:0; }
	20% { opacity:0; }
	25% { opacity:1; }
	95% { opacity:1; }
	100% { opacity:0; }
}
@keyframes concept_image3 {
	0% { opacity:0; }
	35% { opacity:0; }
	40% { opacity:1; }
	95% { opacity:1; }
	100% { opacity:0; }
}
@keyframes concept_image4 {
	0% { opacity:0; }
	50% { opacity:0; }
	55% { opacity:1; }
	95% { opacity:1; }
	100% { opacity:0; }
}
#concept .scroll_on .section_image div > p:nth-child(1) { animation:concept_text1 10s ease-in-out infinite; }
#concept .scroll_on .section_image div > p:nth-child(2) { animation:concept_text2 10s ease-in-out infinite; }
#concept .scroll_on .section_image div > p:nth-child(3) { animation:concept_text3 10s ease-in-out infinite; }
#concept .scroll_on .section_image div > p:nth-child(4) { animation:concept_text4 10s ease-in-out infinite; }
@keyframes concept_text1 {
	0% { opacity:0; }
	5% { opacity:0; }
	10% { opacity:1; }
	15% { opacity:1; }
	20% { opacity:0; }
	100% { opacity:0; }
}
@keyframes concept_text2 {
	0% { opacity:0; }
	20% { opacity:0; }
	25% { opacity:1; }
	30% { opacity:1; }
	35% { opacity:0; }
	100% { opacity:0; }
}
@keyframes concept_text3 {
	0% { opacity:0; }
	35% { opacity:0; }
	40% { opacity:1; }
	45% { opacity:1; }
	50% { opacity:0; }
	100% { opacity:0; }
}
@keyframes concept_text4 {
	0% { opacity:0; }
	50% { opacity:0; }
	55% { opacity:1; }
	60% { opacity:1; }
	95% { opacity:1; }
	100% { opacity:0; }
}





/*FORM*/
.form_on { animation:form_on1 0.5s ease-in-out 0.5s forwards; }
@keyframes form_on1 {
	0% { transform:translateY(30px); opacity:0; }
	100% { transform:translateY(0px); opacity:1; }
}
.form_off { animation:form_off1 0.5s ease-in-out forwards; }
@keyframes form_off1 {
	0% { transform:translateY(0px); opacity:1; }
	100% { transform:translateY(30px); opacity:0; }
}





/*SLIDE*/
#home #slide .slide_hide {
	animation:none;
}
#home #slide .list_image div {
	animation:none;	
}
#home #slide .list_icon div {
	animation:none;
}
.slide_start #home #slide .list.slide_on { animation:slide_start1 0.5s ease-in-out forwards; }
@keyframes slide_start1 {
	0% { transform:translateX(-50%) rotate(-90deg) scale(1); }
	100% { transform:translateX(-50%) rotate(-90deg) scale(0.9); }
}
.slide_stop #home #slide .list.slide_on { animation:slide_stop1 0.5s ease-in-out forwards; }
@keyframes slide_stop1 {
	0% { transform:translateX(-50%) rotate(-90deg) scale(0.9); }
	100% { transform:translateX(-50%) rotate(-90deg) scale(1); }
}
.slide_start.slide_next #home #slide .slide_right .list.slide_on .list_icon div { animation:slide_start2 0.5s ease-in-out forwards; } 
@keyframes slide_start2 {
	0% { transform:scale(1) rotate(0deg); }
	100% { transform:scale(0) rotate(360deg); }
}
.slide_stop.slide_next #home #slide .slide_center .list.slide_on .list_icon div { animation:slide_stop2 0.5s ease-in-out forwards; } 
@keyframes slide_stop2 {
	0% { transform:scale(0) rotate(0deg); }
	100% { transform:scale(1) rotate(360deg); }
}
.slide_start.slide_prev #home #slide .slide_left .list.slide_on .list_icon div { animation:slide_start3 0.5s ease-in-out forwards; } 
@keyframes slide_start3 {
	0% { transform:scale(1) rotate(0deg); }
	100% { transform:scale(0) rotate(-360deg); }
}
.slide_stop.slide_prev #home #slide .slide_center .list.slide_on .list_icon div { animation:slide_stop3 0.5s ease-in-out forwards; } 
@keyframes slide_stop3 {
	0% { transform:scale(0) rotate(0deg); }
	100% { transform:scale(1) rotate(-360deg); }
}
#home #title .slide_on { animation:slide_on1 0.5s ease-in-out 1s forwards; }
@keyframes slide_on1 {
	0% { opacity:0; }
	100% { opacity:1; }
}
#home #title .slide_off { animation:slide_off1 0.5s ease-in-out forwards; }
@keyframes slide_off1 {
	0% { opacity:1; }
	100% { opacity:0; }
}
#home #slide .pager .slide_on span { animation:slide_on2 0.5s ease-in-out 1s forwards; }
@keyframes slide_on2 {
	0% { opacity:0; }
	100% { opacity:1; }
}
#home #slide .pager .slide_off span { animation:slide_off2 0.5s ease-in-out forwards; }
@keyframes slide_off2 {
	0% { opacity:1; }
	100% { opacity:0; }
}





/*ABOUT*/
#home [id^="about"] .section_image div div {
	z-index:110;
} 
#home [id^="about"] .section_image div .slide_on {
	z-index:120;
} 
#home [id^="about"] .section_image div .slide_on { animation:about_on1 1s ease-in-out forwards; } 
@keyframes about_on1 {
	0% { transform:scale(1.05); opacity:0; }
	100% { transform:scale(1); opacity:1; }
}
#home [id^="about"] .section_image div .slide_on span,
#home [id^="about"] .section_image div .slide_off span { animation:about_on2 10s normal forwards; } 
@keyframes about_on2 {
	0% { transform:scale(1.1); }
	100% { transform:scale(1); }
}
table.bus_list {
    margin-bottom: 2rem;
    border-radius: 10px;
    border-spacing: 0;
    border: none;
    border-left: 2px solid;
    border-top: 2px solid;
}
.bus_list td {
    text-align: center;
}
td.bus_list_date {
    width: 260px;
    max-width: 40%;
}
tr.bus_list_time td:nth-child(1) {
    text-align: right;
    padding-right: 1rem;
}
tr.bus_list_time td:nth-child(2) {
    color: #FFF;
    font-weight: 600;
    border-right: 0;
    border-bottom: 0;
}
tr.bus_list_time td:nth-child(3) {
    text-align: left;
    padding-left: 1rem;
}
table.bus_list tr>* {
    padding: 5px 10px;
    border: none;
    border-right: 2px solid ;
    border-bottom: 2px solid ;
}
tr.bus_list_wh td:nth-child(1), tr.bus_list_wh td:nth-child(3) {
    color: #FFF;
}
tr.bus_list_wh td:nth-child(2) {
    color: #FFF;
    font-weight: 600;
}
tr.bus_list_wh td:nth-child(3) {
    border-right: 0px solid;
    border-bottom: 0px solid;
}
table.bus_list tr td.bus_list_title {
    background: transparent;
}
table.bus_list tr:first-child>*:first-child{
    border-radius: 10px 0 0 0;
}
table.bus_list tr:first-child>*:last-child{
    border-radius: 0 10px 0 0;
}
table.bus_list tr:last-child>*:first-child{
    border-radius: 0 0 0 10px;
}
table.bus_list tr:last-child>*:last-child{
    border-radius: 0 0 10px 0;
}







/*HTE*/
#home #hte .section_title > p:nth-child(3) > span {
	opacity:0;	
}
#home #hte .section_title > p:nth-child(3) > .slide_on {
	opacity:0;	
}
#home #hte .section_title > p:nth-child(3) > .slide_off {
	opacity:1;	
}
/* 無起播延遲：舊 0.5s delay 會讓捲入區塊後仍長時間看不到車名／說明 */
#home #hte .section_title > p:nth-child(3) > .slide_on { animation:hte_on1 0.28s ease-out 0s forwards; }
@keyframes hte_on1 {
	0% {  opacity:0; }
	100% { opacity:1; }
}
#home #hte .section_title > p:nth-child(3) > .slide_off { animation:slide_off1 0.35s ease-out forwards; } 
@keyframes slide_off1 {
	0% {  opacity:1; }
	100% { opacity:0; }
}
#home #hte .section_list > div {
	opacity:0;	
}
#home #hte .section_list .slide_on {
	z-index:130;
	position:relative;
}
#home #hte .section_list .slide_off {
	opacity:1;
}
#home #hte .section_list .slide_on { animation:hte_on1 0.35s ease-out 0s forwards; }
#home #hte .section_list .slide_off { animation:slide_off1 0.35s ease-out forwards; }
#home #hte .section_image > div {
	transform:none;
	opacity:0;
}
#home #hte .section_image > div.alphard-exterior {
	transform:none;
}
#home #hte .section_image::after {
	content:none;
	display:none;
}
#home #hte .section_image .slide_on {
	transform:none;
	z-index:130;
}
#home #hte .section_image .slide_on { animation:hte_on2 0.3s ease-out forwards; } 
@keyframes hte_on2 {
	0% { opacity:0; }
	100% { opacity:1; }
}
#home #hte .section_image .slide_off { animation:hte_on3 0.28s ease-out forwards; } 
@keyframes hte_on3 {
	0% { opacity:1; }
	100% { opacity:0; }
}
/* 車型介紹：整區 scroll_on1 與標題逐字動畫縮短／取消排隊延遲，捲入時較快看到標題與圖 */
#home #hte .section_inner.scroll_on1 {
	animation: scroll_on1 0.22s ease-out forwards;
}
#home #hte .section_inner.scroll_on .section_title .scroll_text > span {
	animation-duration: 0.22s !important;
	animation-timing-function: ease-out !important;
	animation-delay: 0s !important;
}
@media (max-width:1024px){
	.slide_start #home #slide .list.slide_on { animation:slide_start1_sp 0.5s ease-in-out forwards !important; }
	.slide_stop #home #slide .list.slide_on { animation:slide_stop1_sp 0.5s ease-in-out forwards !important; }
	/* 手機：輪播現時張圖不要 scale 放大 */
	#home #slide .list_on .list_image div span {
		transform: scale(1) !important;
	}
	/* 角標轉場不要用 scale(0)↔1（捲動／視窗高度變化時易覺得整組在放大） */
	.slide_start.slide_next #home #slide .slide_right .list.slide_on .list_icon div,
	.slide_stop.slide_next #home #slide .slide_center .list.slide_on .list_icon div,
	.slide_start.slide_prev #home #slide .slide_left .list.slide_on .list_icon div,
	.slide_stop.slide_prev #home #slide .slide_center .list.slide_on .list_icon div {
		animation: none !important;
	}
	#home #slide .list.slide_on .list_icon div {
		transform: scale(1) !important;
	}
	/* 載入／轉場：列表與換頁鈕不要 scale（避免 mobile 視窗 resize 重跑動畫造成忽大忽小） */
	.charter-root.load_on #slide .list,
	.charter-root.load_off #slide .list {
		animation: none !important;
	}
	.charter-root.load_on #slide .pager div,
	.charter-root.load_off #slide .pager div {
		animation: load_on7_spflat 0.5s ease-in-out forwards !important;
	}
	.charter-root.load_on #slide .list_icon div,
	.charter-root.load_off #slide .list_icon div,
	.charter-root.load_on.load_prev #slide .list_icon div,
	.charter-root.load_off.load_prev #slide .list_icon div {
		animation: none !important;
	}
	/* 手機：slider 左上角 圖型.svg（list_icon_tri_svg）縮小（不依 transform 以免打亂主題 rotate） */
	#slide .list_icon div svg.list_icon_tri_svg {
		width: min(40px, 10.5vw);
		height: auto;
		max-height: 78px;
		display: block;
		margin: 0 auto;
		box-sizing: border-box;
	}
	/* 手機：輪播圖＋角標（含 SVG／角標內文字）＋巴士上下頁上移；底部數字 pager（nth-child(7)）與區塊外 #title 維持原垂直位置 */
	#home #slide {
		--slide-sp-nudge-up: clamp(24px, 6.5vw, 38px);
	}
	#home #slide .section_list {
		margin-top: calc(-1 * var(--slide-sp-nudge-up));
	}
	#home #slide .section_contents > .section_pager:nth-child(6) {
		transform: translateX(-50%) translateY(calc(-50% - var(--slide-sp-nudge-up)));
	}
	.slide_left,.slide_right { opacity:0; }
	#home #hte .section_image > div.alphard-exterior { border-radius:28px; }
	#home #hte .section_image > div.alphard-interior { border-radius:28px; }
	/* 商品頁（含 .page_title，首頁無）：手機／平板略減頂部預留，主標較靠近 header */
	#charter-root.charter-root:has(.page_title) {
		--charter-header-offset: 92px;
	}
	/* 手機／平板：標題上、副標題下、置中；左右留白加大、主標可換行 */
	.page_title {
		display: block;
		text-align: center;
		padding: 14px clamp(20px, 6vw, 36px) 14px;
		max-width: none;
		box-sizing: border-box;
	}
	.page_title h2 {
		grid-column: auto;
		grid-row: auto;
		display: inline-block;
		vertical-align: top;
		font-size: 20px;
		line-height: 1.45;
		margin: 0 0 14px;
		max-width: min(13em, calc(100% - 8px));
		width: auto;
		box-sizing: border-box;
		word-break: keep-all;
		overflow-wrap: break-word;
		text-align: center;
		border: 1px solid currentColor;
		background: transparent;
		border-radius: 11px;
		padding: 15px;
	}
	.page_title .page_subtitle {
		position: static;
		width: auto;
		top: auto;
		right: auto;
		left: auto;
		z-index: auto;
		justify-self: auto;
		text-align: center;
		max-width: 20.5em;
		margin-left: auto;
		margin-right: auto;
		font-size: 14px;
		line-height: 1.65;
	}
	/* 與副標括號同字級（覆寫全域 1.28em） */
	.page_title .page_subtitle_lead {
		font-size: 1em;
	}
	/* 副標括號兩行（SP）：區塊置中，行距一致 */
	.charter-root .page_title .page_subtitle .display_sp {
		display: block !important;
	}
	/* 手機：僅首頁 #title 輪播說明區（h1／副標）略下移，不影響輪播角標 */
	#home #title {
		margin-top: -438px !important;
	}
	/* 手機：#title 輪播說明（h1／副標）略縮字級與行距 */
	#home #title .section_title h1 {
		font-size: clamp(20px, 5.1vw, 26px);
		line-height: 1.3;
	}
	#home #title .section_title p a,
	#home #title .section_title p span {
		font-size: clamp(15px, 3vw, 18px);
		line-height: 1.32;
		margin-top: 8px;
	}
	#home #title .section_title p > span:nth-last-child(1) {
		line-height: 1.32;
		margin-top: 6px;
	}
}
@keyframes slide_start1_sp {
	0% { transform:translateX(-50%) translateY(-50%) rotate(-90deg) scale(1); }
	100% { transform:translateX(-50%) translateY(-50%) rotate(-90deg) scale(1); }
}
@keyframes slide_stop1_sp {
	0% { transform:translateX(-50%) translateY(-50%) rotate(-90deg) scale(1); }
	100% { transform:translateX(-50%) translateY(-50%) rotate(-90deg) scale(1); }
}





/*POPUP（動畫選擇器僅 .charter-root，避免 body.popup_on 時動到官網 header）*/
.popup_on .charter-root .header_button a > div:nth-child(1) { animation:popup_on1 1s ease-in-out forwards; }
@keyframes popup_on1 {
	0% { transform:translateY(-8px) rotate(0deg); }
	50% { transform:translateY(-1px) rotate(0deg); }
	100% { transform:translateY(-1px) rotate(45deg); }
}
.popup_off .charter-root .header_button a > div:nth-child(1) { animation:popup_off1 1s ease-in-out forwards; }
@keyframes popup_off1 {
	0% { transform:translateY(-1px) rotate(45deg); }
	50% { transform:translateY(-1px) rotate(0deg); }
	100% { transform:translateY(-8px) rotate(0deg); }
}
.popup_on .charter-root .header_button a > div:nth-child(2) { animation:popup_on2 1s ease-in-out forwards; }
@keyframes popup_on2 {
	0% { opacity:1; }
	50% { opacity:0; }
	100% { opacity:0; }
}
.popup_off .charter-root .header_button a > div:nth-child(2) { animation:popup_off2 1s ease-in-out forwards; }
@keyframes popup_off2 {
	0% { opacity:0; }
	50% { opacity:0; }
	100% { opacity:1; }
}
.popup_on .charter-root .header_button a > div:nth-child(3) { animation:popup_on3 1s ease-in-out forwards; }
@keyframes popup_on3 {
	0% { transform:translateY(6px) rotate(0deg); }
	50% { transform:translateY(-1px) rotate(0deg); }
	100% { transform:translateY(-1px) rotate(-45deg); }
}
.popup_off .charter-root .header_button a > div:nth-child(3) { animation:popup_off3 1s ease-in-out forwards; }
@keyframes popup_off3 {
	0% { transform:translateY(-1px) rotate(-45deg); }
	50% { transform:translateY(-1px) rotate(0deg); }
	100% { transform:translateY(6px) rotate(0deg); }
}
.popup_on .charter-root .header_navi { animation:popup_on4 0.5s ease-in-out forwards; }
@keyframes popup_on4 {
	0% { opacity:1; }
	100% { opacity:0; }
}
.popup_off .charter-root .header_navi { animation:popup_off4 0.5s ease-in-out forwards; }
@keyframes popup_off4 {
	0% { opacity:0; }
	100% { opacity:1; }
}
.popup_on .charter-root .popup { animation:popup_on5 0.5s ease-in-out forwards; }
@keyframes popup_on5 {
	0% { opacity:0; }
	100% { opacity:1; }
}
.popup_off .charter-root .popup { animation:popup_off5 0.5s ease-in-out forwards; }
@keyframes popup_off5 {
	0% { opacity:1; }
	100% { opacity:0; }
}

/* 最小螢幕：左上角圓形角標內文字 9px（index.html／product.html 等；#home #slide 提高專一性以免與輪播角標規則併算時偏差） */
@media screen and (max-width: 429px) {
	.charter-root .list_icon div p span,
	#home #slide .list_icon div p span,
	#home #news .list_icon div p span,
	#home #project .list_icon div p span {
		font-size: 10px;
		line-height: 9px;
	}
}

/* 寬度小於 430px：航班表與下段 fee_banner（product 模版） */
@media screen and (max-width: 429px) {
	.charter-root #home #flight_table,
	#charter-root #home #flight_table {
		margin-top: clamp(20px, 14vw, 120px) !important;
		padding-top: clamp(24px, 7vw, 72px) !important;
	}
	.charter-root #home #flight_table ~ #fee_banner,
	#charter-root #home #flight_table ~ #fee_banner {
		margin-top: calc(450px + clamp(120px, 12vw, 100px)) !important;
	}
	html[data-charter-product-id="hokkaido-royal-crab-toya-otsu-moiwa-5d"] .charter-root #home #flight_table ~ #fee_banner,
	html[data-charter-product-id="hokkaido-royal-crab-toya-otsu-moiwa-5d"] #charter-root #home #flight_table ~ #fee_banner {
		margin-top: 1000px !important;
	}
}

/* ========== index.html 列表首頁／Fillo（原 minitourbus 列表頁樣式併入） ========== */
.web-page-frame .row.header,
.web-page-frame .row.footer {
	position: relative;
	z-index: 500;
	opacity: 1;
	visibility: visible;
}
.charter-fillo-header {
	padding: 0;
	background: transparent;
	border: 0;
	box-sizing: border-box;
}
.charter-fillo-home {
	font-weight: 600;
	color: #1597dd;
	text-decoration: none;
	margin-right: 10px;
}
.charter-fillo-home:hover { text-decoration: underline; }
.charter-fillo-note {
	font-size: 13px;
	color: rgba(7, 60, 47, 0.65);
}
.charter-fillo-footer {
	padding: 0;
	background: transparent;
	border: 0;
	text-align: inherit;
	box-sizing: border-box;
}
.charter-fillo-footer .charter-fillo-note { margin: 0; }
.minitour-cover-wrap {
	flex: 0 0 100%;
	max-width: 100%;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	margin: 0 0 30px 0;
}
img.minitour_cover {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	box-sizing: border-box;
	margin: 0;
}
@media (max-width: 1024px) {
	img.minitour_cover {
		aspect-ratio: 400 / 300;
		object-fit: cover;
		object-position: center;
	}
}
.minitour-cover-wrap + main#charter-root.charter-root {
	padding-top: 0;
}
.minitour-cover-wrap + main#charter-root.charter-root section#news {
	margin: 0;
	padding: 0 15px 40px 15px;
	box-sizing: border-box;
}
body:has(.minitour_cover) main#charter-root.charter-root {
	padding-top: 0;
}
#charter-root.charter-root,
.charter-root {
	overflow: visible;
}

/* #news 區域標籤（列表首頁 index.html）：北海道／東北…等七個文字頁籤 */
#charter-root #news .news_tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 20px 0 30px;
	justify-content: center;
	align-items: center;
}

/* 手機／平板：七個區域頁籤單列橫向捲動（须置於上方 .news_tabs 之後，避免 flex-wrap:wrap 覆蓋） */
@media (max-width: 1024px) {
	#charter-root #news .news_tabs {
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: center;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		scrollbar-width: thin;
		margin-left: -15px;
		margin-right: -15px;
		padding-left: 15px;
		padding-right: 15px;
		box-sizing: border-box;
		scroll-snap-type: x proximity;
		scroll-padding-inline: 15px;
	}
	#charter-root #news .news_tab.btn03 {
		flex-shrink: 0;
		scroll-snap-align: start;
	}
}

#charter-root #news .news_tab.btn03 {
	position: relative;
	z-index: 0;
	display: inline-flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-sizing: border-box;
	min-height: 48px;
	padding: 10px 26px 10px 22px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-decoration: none;
	cursor: pointer;
	border-radius: 9999px;
	border: 1px solid rgba(139, 135, 196, 0.55);
	background: #fff;
	color: rgba(139, 135, 196, 1);
	overflow: hidden;
	transition: color 0.35s ease-in-out, border-color 0.35s ease-in-out;
	-webkit-tap-highlight-color: transparent;
}

#charter-root #news .news_tab.btn03::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 0;
	background: rgba(139, 135, 196, 1);
	border-radius: inherit;
	transition: width 0.42s cubic-bezier(0.4, 0, 0.2, 1), background 0.5s ease-in-out;
	z-index: 0;
	pointer-events: none;
}

body.red #charter-root #news .news_tab.btn03 {
	color: rgba(139, 135, 196, 1) !important;
	border-color: rgba(168, 165, 211, 1) !important;
}
body.red #charter-root #news .news_tab.btn03::before {
	background: rgba(139, 135, 196, 1);
}
body.blue #charter-root #news .news_tab.btn03 {
	color: rgba(86, 192, 249, 1) !important;
	border-color: rgba(128, 208, 251, 1) !important;
}
body.blue #charter-root #news .news_tab.btn03::before {
	background: rgba(86, 192, 249, 1);
}
body.green #charter-root #news .news_tab.btn03 {
	color: rgba(132, 178, 58, 1) !important;
	border-color: rgba(163, 197, 107, 1) !important;
}
body.green #charter-root #news .news_tab.btn03::before {
	background: rgba(132, 178, 58, 1);
}
body.yellow #charter-root #news .news_tab.btn03 {
	color: rgba(242, 145, 97, 1) !important;
	border-color: rgba(245, 173, 137, 1) !important;
}
body.yellow #charter-root #news .news_tab.btn03::before {
	background: rgba(242, 145, 97, 1);
}

body.red #charter-root #news .news_tab.btn03 .news_tab_label {
	color: rgba(139, 135, 196, 1) !important;
}
body.blue #charter-root #news .news_tab.btn03 .news_tab_label {
	color: rgba(86, 192, 249, 1) !important;
}
body.green #charter-root #news .news_tab.btn03 .news_tab_label {
	color: rgba(132, 178, 58, 1) !important;
}
body.yellow #charter-root #news .news_tab.btn03 .news_tab_label {
	color: rgba(242, 145, 97, 1) !important;
}

#charter-root #news .news_tab.btn03 .news_tab_label {
	position: relative;
	z-index: 1;
	top: 1px;
	transition: color 0.35s ease-in-out;
}

#charter-root #news .news_tab.btn03 svg.ico_svg.ico_btncar {
	position: relative;
	z-index: 1;
	flex-shrink: 0;
	width: 26px;
	height: 26px;
	display: block;
	opacity: 0.92;
	color: inherit !important;
	overflow: visible;
	transform: rotate(0deg) scale(1);
	transform-origin: 50% 50%;
	transition: color 0.35s ease-in-out, opacity 0.3s ease, transform 0.5s ease-in-out;
}
#charter-root #news .news_tab.btn03:is(:hover, :focus-visible, :active, .news_tab--fill) svg.ico_btncar {
	transform: rotate(-14deg) scale(1.08);
}
#charter-root #news .news_tab.btn03 .ico_btncar path {
	color: inherit !important;
	fill: currentColor;
}

#charter-root #news .news_tab.btn03.news_tab--fill::before,
#charter-root #news .news_tab.btn03:hover::before,
#charter-root #news .news_tab.btn03:focus-visible::before,
#charter-root #news .news_tab.btn03:active::before {
	width: 100%;
}

#charter-root #news .news_tab.btn03:is(:hover, :focus-visible, :active, .news_tab--fill, .active) {
	color: #fff !important;
}
body.red #charter-root #news .news_tab.btn03:is(:hover, :focus-visible, :active, .news_tab--fill, .active) {
	border-color: rgba(139, 135, 196, 1) !important;
}
body.blue #charter-root #news .news_tab.btn03:is(:hover, :focus-visible, :active, .news_tab--fill, .active) {
	border-color: rgba(86, 192, 249, 1) !important;
}
body.green #charter-root #news .news_tab.btn03:is(:hover, :focus-visible, :active, .news_tab--fill, .active) {
	border-color: rgba(132, 178, 58, 1) !important;
}
body.yellow #charter-root #news .news_tab.btn03:is(:hover, :focus-visible, :active, .news_tab--fill, .active) {
	border-color: rgba(242, 145, 97, 1) !important;
}

body.red #charter-root #news .news_tab.btn03:is(:hover, :focus-visible, :active, .news_tab--fill, .active) .news_tab_label,
body.blue #charter-root #news .news_tab.btn03:is(:hover, :focus-visible, :active, .news_tab--fill, .active) .news_tab_label,
body.green #charter-root #news .news_tab.btn03:is(:hover, :focus-visible, :active, .news_tab--fill, .active) .news_tab_label,
body.yellow #charter-root #news .news_tab.btn03:is(:hover, :focus-visible, :active, .news_tab--fill, .active) .news_tab_label {
	color: #fff !important;
}

#charter-root #news .news_tab.btn03:is(:hover, :focus-visible, :active, .news_tab--fill, .active) svg.ico_btncar {
	opacity: 1;
	color: #fff !important;
}
#charter-root #news .news_tab.btn03:is(:hover, :focus-visible, :active, .news_tab--fill, .active) .ico_btncar path {
	color: #fff !important;
	fill: #fff !important;
}

#charter-root #news .news_tab.btn03.active::before {
	width: 100%;
	transition-duration: 0.38s;
}

#charter-root #news .news-tab-content {
	display: none;
}

#charter-root #news .news-tab-content.active {
	display: block;
}
