@charset "UTF-8";




/* CSS STYLE */

body {
	padding-top: 4rem;
	font-size: 1.4rem;
	&.statusClose {
		padding-top: 0;
	}
}










/* SITEPARTS */

.otherPage {
	padding: 4rem 0 5rem 0;
}

.inner, .innerMid, .innerMin, .innerSml, .innerTin {
	position: relative;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 2.4rem;
	padding-right: 2.4rem;
	z-index: 1;
}

.pageHeader {
	display: flex;
	align-items: center;
	margin-bottom: 4rem;
	font-family: var(--font2);
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--colorMain);
	img {
		width: 5rem;
		margin-right: 1.5rem;
		flex-shrink: 0;
	}
	span {
		display: block;
		width: calc(100% - 6.5rem);
	}
	&:has(+ p) {
		margin-bottom: 2rem;
	}
	& + p {
		margin-bottom: 4rem;
	}
}

.headStyle1 {
	position: relative;
	border-radius: 0.5rem;
	background-color: var(--colorMain);
	width: 100%;
	margin: 4rem 0 2.5rem 0;
	padding: 1.2rem 1.5rem;
	font-family: var(--font2);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--colorW);
	sub {
		top: -0.25em;
	}
	span {
		margin-left: 1rem;
		font-family: var(--font1);
		font-size: 1.3rem;
		font-weight: 400;
	}
}
.headStyle2 {
	position: relative;
	margin: 4rem 0 2rem 0;
	padding-left: 1.5rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.05em;
	&:before {
		content: "";
		position: absolute;
		top: 0.1rem;
		left: 0;
		display: block;
		border-left: 4px solid var(--colorMain);
		height: 1.15em;
	}
	&:first-child {
		margin-top: 0;
	}
	span {
		font-size: 1.5rem;
	}
}
.headStyle3 {
	position: relative;
	margin: 2.5rem 0 1.5rem 0;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.05em;
	&:first-child {
		margin-top: 0;
	}
}
.headStyle4 {
	position: relative;
	margin: 2rem 0 1rem 0;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.05em;
	&:first-child {
		margin-top: 0;
	}
}

.btnStyle {
	padding-bottom: 1rem;
	a, button {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		align-content: center;
		border: 2px solid var(--colorMain);
		border-radius: 1.2rem;
		background-color: var(--colorW);
		min-height: 6rem;
		padding: 1.4rem 1.5rem 1.6rem 1.5rem;
		box-shadow: inset -0.5rem -0.5rem 0 rgba(29, 80, 162, 0.2), 0 1rem 0 var(--colorMain);
		font-family: var(--font2);
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0.05em;
		text-align: center;
		text-decoration: none !important;
		color: var(--colorMain) !important;
		span {
			transform: rotate(0.03deg);
		}
		img {
			mix-blend-mode: multiply;
		}
	}
}
.btnStyle2 {
	a {
		position: relative;
		display: flex;
		align-items: center;
		border-radius: 0.5rem;
		background-color: var(--colorLink);
		padding: 1rem 3rem 1rem 1.5rem;
		width: 100%;
		min-height: 5rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.5;
		text-decoration: none;
		color: var(--colorB);
		&:after {
			content: "";
			position: absolute;
			top: 50%;
			right: 1.5rem;
			display: block;
			background: url(../img/ar-b.png) no-repeat center center / 0.8rem 1.4rem;
			width: 0.8rem;
			height: 1.4rem;
			margin-top: -0.7rem;
		}
	}
}

.linkArrow {
	a {
		display: inline-flex;
		align-items: center;
		&:after {
			content: "";
			display: block;
			background: url(../img/ar2-b.png) no-repeat center center / 1.4rem;
			width: 1.4rem;
			height: 1.4rem;
			margin-left: 0.4rem;
		}
	}
}

.linkRev {
	a {
		text-decoration: underline;
		color: var(--colorMain);
	}
}

a.map {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	border-radius: 2.6rem;
	border: 1px solid var(--colorMain);
	background-color: #fff;
	width: 11rem;
	height: 2.6rem;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	color: var(--colorMain);
	&:before {
		content: "";
		display: block;
		background: url(../img/icon-map-b.png) no-repeat center center / 100%;
		width: 1.2rem;
		height: 1.2rem;
		margin-right: 0.5rem;
	}
	&:after {
		display: none !important;
	}
	&:hover {
		background-color: var(--colorMain);
		color: var(--colorW) !important;
		&:before {
			background-image: url(../img/icon-map-w.png);
		}
	}
}
.addMap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	.map {
		margin-left: 1rem;
	}
}

.big {
	font-size: 112.5%;
}
.sml {
	font-size: 87.5%;
}
.note {
	font-size: 87.5%;
}
.warning {
	color: var(--colorRed);
}

.imgBox {
	position: relative;
	border-radius: 1rem;
	width: 100%;
	padding-top: 56.25%;
	overflow: hidden;
	img {
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
		max-width: initial;
		width: 100%;
		height: 100%;
		z-index: 1;
	}
	a {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	&.fit {
		padding: 0;
		img {
			position: relative;
			object-fit: inherit;
			height: auto;
		}
	}
}

.tableStyle {
	position: relative;
	display: block;
	overflow-x: scroll;
	margin: 2.5rem 0;
	&:before {
		content: "";
		position: absolute;
		top: 1rem;
		left: 1rem;
		border-radius: 1rem;
		background: var(--colorB) url(../img/icon-swipe.png) no-repeat center center / 10rem;
		width: 10rem;
		height: 6rem;
		z-index: 2;
	}
	&.touch {
		&:before {
			display: none;
		}
	}
	&:last-child {
		margin-bottom: 0;
	}
	tbody {
		display: table;
		border-left: 1px solid var(--colorB);
		border-top: 1px solid var(--colorB);
		border-collapse: separate;
		border-spacing: 0;
		border-radius: 1rem;
		width: 75rem;
		font-size: 1.3rem;
		line-height: 1.6;
	}
	th {
		vertical-align: middle;
		vertical-align: middle;
		border-bottom: 1px solid var(--colorB);
		border-right: 1px solid var(--colorB);
		background-color: var(--colorSub);
		padding: 1.5rem 1rem;
		font-weight: 700;
		text-align: center;
		span {
			display: block;
			font-size: 1.1rem;
			font-weight: 400;
		}
	}
	td {
		vertical-align: middle;
		border-bottom: 1px solid var(--colorB);
		border-right: 1px solid var(--colorB);
		background-color: var(--colorW);
		padding: 1.5rem 1.5rem;
		em {
			font-style: normal;
			font-weight: 500;
		}
		strong {
			font-weight: 700;
		}
	}
	tr {
		&:first-of-type {
			th, td {
				&:first-child {
					border-top-left-radius: 1rem;
				}
				&:last-child {
					border-top-right-radius: 1rem;
				}
			}
		}
		&:last-of-type {
			th, td {
				&:first-child {
					border-bottom-left-radius: 1rem;
				}
				&:last-child {
					border-bottom-right-radius: 1rem;
				}
			}
		}
	}
	.tableTitle {
		background-color: var(--colorMain);
		width: 100%;
		height: 5rem;
		font-size: 1.6rem;
		font-weight: 700;
		text-align: var();
		color: var(--colorW);
	}
}


/* TXTAREA */

.txtArea {
	a {
		display: inline-flex;
		align-items: center;
		text-decoration: underline;
		color: var(--colorMain);
		&[target="_blank"] {
			&:after {
				content: "";
				display: block;
				background: url(../img/icon-blank2-b.png) no-repeat center center / 1.5rem;
				width: 1.5rem;
				height: 1.5rem;
				margin-left: 0.8rem;
				flex-shrink: 0;
			}
		}
		&[href$=".pdf"] {
			&:after {
				content: "";
				display: block;
				background: url(../img/icon-pdf.png) no-repeat center center / 1.4rem;
				width: 1.4rem;
				height: 1.4rem;
				margin-left: 0.8rem;
				flex-shrink: 0;
			}
		}
		&:has(img) {
			&:after {
				display: none !important;
			}
		}
	}
	a.txtBtn, .txtBtn a {
		display: inline-flex;
		align-items: center;
		border: 1px solid var(--colorMain);
		border-radius: 0.5rem;
		background-color: var(--colorW);
		padding: 1rem 1.5rem;
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.3;
		text-decoration: none;
		color: var(--colorMain) !important;
		&:after {
			content: "";
			display: block;
			background: url(../img/ar-b.png) no-repeat center center / 0.8rem 1.2rem;
			width: 0.8rem;
			height: 1.2rem;
			margin-left: 1.2rem;
			flex-shrink: 0;
		}
	}
	.red {
		color: var(--colorRed);
	}
	.blue {
		color: var(--colorMain);
	}
	em {
		font-style: italic;
		font-weight: inherit;
	}
	hr {
		width: 100%;
		border-top: 2px solid var(--colorMain);
		margin: 4rem 0;
	}

	p {
		margin: 1.5rem 0;
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
	}
	ul {
		margin: 2rem 0;
		&:first-child {
			margin-top: 0;
		}
		li {
			position: relative;
			padding-left: 1em;
			&:before {
				content: "";
				position: absolute;
				top: 0.65em;
				left: 0.2rem;
				border-radius: 0.5rem;
				background-color: var(--colorMain);
				width: 0.5rem;
				height: 0.5rem;
			}
		}
	}
	ol {
		counter-reset: num;
		margin: 2rem 0;
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
		li {
			position: relative;
			margin: 0.8rem 0;
			padding-left: 3.8rem;
			&:before {
				counter-increment: num;
				content: counter(num, decimal-leading-zero);
				position: absolute;
				top: -0.1rem;
				left: 0;
				border-radius: 2.8rem;
				background-color: var(--colorMain);
				width: 2.8rem;
				height: 2.8rem;
				font-size: 1.2rem;
				font-weight: 500;
				letter-spacing: 0;
				line-height: 2.8rem;
				text-align: center;
				color: var(--colorW);
				overflow: hidden;
			}
		}
	}

	dl {
		margin: 2rem 0;
		dt {
			margin-top: 1.2rem;
			font-weight: 700;
		}
		dd {
			padding-left: 1em;
		}
	}

	h2 {
		position: relative;
		display: flex;
		align-items: center;
		border-radius: 0.5rem;
		background-color: var(--colorMain);
		width: 100%;
		min-height: 5rem;
		margin: 4rem 0 2rem 0;
		padding: 1rem 1.5rem;
		font-family: var(--font2);
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.3;
		color: var(--colorW);
	}
	h3 {
		position: relative;
		margin: 3rem 0 1.5rem 0;
		padding-left: 1.5rem;
		font-size: 1.8rem;
		font-weight: 700;
		line-height: 1.3;
		&:before {
			content: "";
			position: absolute;
			top: 0.1rem;
			left: 0;
			display: block;
			border-left: 4px solid var(--colorMain);
			height: 1.15em;
		}
		&:first-child {
			margin-top: 0;
		}
	}
	h4 {
		position: relative;
		margin: 2.5rem 0 1rem 0;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.3;
		&:first-child {
			margin-top: 0;
		}
	}
	.plain {
		margin: 3rem 0 1.5rem 0;
		padding: 0;
		font-size: 100%;
		font-weight: 700;
		line-height: 1.75;
		&:before {
			display: none;
		}
		&:first-child {
			margin-top: 0;
		}
	}

	figure {
		width: 100% !important;
		margin: 4rem 0;
		padding: 0;
		figcaption {
			width: 100% !important;
			margin: 0.8rem 0 0 0;
			padding: 0;
			font-size: 1.3rem;
			text-align: center;
		}
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
	}
	blockquote {
		border: 1px solid var(--colorMain);
		border-radius: 0.5rem;
		background-color: var(--colorW);
		margin: 4rem 0;
		padding: 2rem;
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
	}

	table {
		position: relative;
		display: block;
		overflow-x: scroll;
		margin: 4rem 0;
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
		&:before {
			content: "";
			position: absolute;
			top: 1rem;
			left: 1rem;
			border-radius: 1rem;
			background: var(--colorB) url(../img/icon-swipe.png) no-repeat center center / 10rem;
			width: 10rem;
			height: 6rem;
			z-index: 2;
		}
		&.touch {
			&:before {
				display: none;
			}
		}
		&:last-child {
			margin-bottom: 0;
		}
		tbody {
			display: table;
			position: relative;
			border: 1px solid var(--colorB);
			width: 75rem;
			font-size: 1.3rem;
			line-height: 1.5;
		}
		th {
			vertical-align: middle;
			border: 1px solid var(--colorB);
			background-color: var(--colorSub);
			padding: 1rem;
			font-weight: 500;
			text-align: center;
			color: var(--colorMain);
		}
		td {
			vertical-align: middle;
			border: 1px solid var(--colorB);
			padding: 1.2rem 1rem;
			font-weight: 400;
			&:has(a[href*="tel:"]) {
				font-weight: 700;
				font-size: 1.6rem;
				text-align: center;
			}
			em {
				font-style: normal;
				font-weight: 500;
			}
			strong {
				font-weight: 700;
			}
		}
		a[href^="http"] {
			font-size: 1.2rem;
			line-height: 1.4;
			&:after {
				display: none;
			}
		}
	}

	.columnBox {
		margin: 4rem 0;
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
		img {
			display: block;
			width: 100%;
			margin: 1.5rem 0;
		}
		.read {
			width: 100%;
			margin: 1.5rem 0;
		}
	}

	.alignCenter, .alignRight, .alignLeft, .sizeThumbnail, .sizeMedium, .sizeFull {
		width: 100%;
		height: auto;
	}
}


/* FADE */

.fade {
	opacity: 0;
	-webkit-transition: 0.8s linear;
	transition: 0.8s linear;
}
.fade.active {
	opacity: 1;
}
.fade-l {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(-2rem, 0);
	transform: translate(-2rem, 0);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-l.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-r {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(2rem, 0);
	transform: translate(2rem, 0);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-r.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-t {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(0, -2rem);
	transform: translate(0, -2rem);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-t.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-b {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(0, 2rem);
	transform: translate(0, 2rem);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-b.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-w {
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
	-webkit-transform: scale(1.1,1.1);
	transform: scale(1.1,1.1);
	opacity: 0;
}
.fade-z {
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
	-webkit-transform: scale(0.9,0.9);
	transform: scale(0.9,0.9);
	opacity: 0;
}
.fade-w.active,
.fade-z.active {
	-webkit-transform: scale(1,1);
	transform: scale(1,1);
	opacity: 1;
}
.blur {
	-webkit-transition: 2s ease;
	transition: 2s ease;
	filter: blur(10rem);
	-webkit-transform: scale(1.5,1.5);
	transform: scale(1.5,1.5);
	opacity: 1;
}
.blur.active {
	filter: blur(0);
	-webkit-transform: scale(1,1);
	transform: scale(1,1);
	opacity: 1;
}


/* Notice */

.importantNotice {
	position: relative;
	background-color: var(--colorImportant);
	width: calc(100% + 4.8rem);
	margin: 4rem -2.4rem 5rem -2.4rem;
	padding: 4.5rem 0 3rem 0;
	&.first {
		margin-top: 4rem;
	}
	h3 {
		display: flex;
		align-items: center;
		position: absolute;
		top: -5.8rem;
		left: 2.4rem;
		font-size: 2rem;
		font-weight: 700;
		line-height: 1;
		color: var(--colorRed);
		&:before {
			content: "";
			background: url(../img/icon-caution.png) no-repeat center center / 2.8rem;
			width: 2.8rem;
			height: 2.8rem;
			margin-right: 0.8rem;
		}
	}
	.newsList {
		.title {
			border: none;
			padding-bottom: 0;
		}
	}
}










/* HEADER */

.siteHeader {
	.serviceStatus {
		position: fixed;
		top: 0;
		left: 0;
		background-color: #ceeae2;
		width: 100%;
		height: 4rem;
		padding: 1rem 4.5rem 1rem 2.4rem;
		z-index: 1000;
		dl {
			display: flex;
			align-items: center;
			border-radius: 2rem;
			background-color: var(--colorW);
			background-size: 2.5rem;
			background-position: 1rem center;
			background-repeat: no-repeat;
			background-image: url(../img/signal-blue.png);
			width: 100%;
			height: 2rem;
			margin: auto;
			padding: 0.1rem 1rem 0 1rem;
			font-weight: 700;
			line-height: 1;
			color: var(--colorMain);
			dt {
				width: 8rem;
				padding-left: 3rem;
				font-size: 1.1rem;
			}
			dd {
				border-left: 1px solid var(--colorMain);
				width: calc(100% - 8rem);
				padding: 0 0 0 0.6rem;
				font-size: 1.1rem;
				overflow: hidden;
				text-overflow: ellipsis;
				white-space: nowrap;
			}
		}
		&.normal {
			background-color: #ceeae2;
			dl {
				background-image: url(../img/signal-blue.png);
			}
		}
		&.caution {
			background-color: #fbf0c1;
			dl {
				background-image: url(../img/signal-yellow.png);
			}
		}
		&.emergency {
			background-color: #f3c6ba;
			dl {
				background-image: url(../img/signal-red.png);
			}
		}
		a {
			text-decoration: none;
			color: var(--colorMain);
		}
		#statusClose {
			position: absolute;
			top: 50%;
			right: 2.4rem;
			width: 1.4rem;
			height: 1.4rem;
			margin-top: -0.7rem;
			cursor: pointer;
			&:before, &:after {
				content: "";
				position: absolute;
				top: calc(50% - 1px);
				left: 0;
				display: block;
				border-top: 0.2rem solid var(--colorMain);
				width: 100%;
			}
			&:before {
				transform: rotate(45deg);
			}
			&:after {
				transform: rotate(-45deg);
			}
		}
		& + .serviceStatus {
			#statusClose {
				display: none;
			}
		}
	}
	.mainMenu {
		position: fixed;
		bottom: 0;
		left: 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
		border-radius: 1rem 1rem 0 0;
		background-color: var(--colorW);
		width: 100%;
		height: 7.5rem;
		box-shadow: 0 -0.3rem 0.6rem rgba(217, 241, 248, 0.7);
		z-index: 1000;
		.menuLogo {
			display: none;
		}
		.menuAll {
			display: flex;
			justify-content: flex-end;
			align-items: center;
			width: 100%;
			height: 7.5rem;
			font-size: 1.1rem;
			font-weight: 700;
			line-height: 1.2;
			color: var(--colorMain);
			ul {
				display: flex;
				width: 80%;
				height: 7.5rem;
				li {
					position: relative;
					width: 25%;
					height: 7.5rem;
					a {
						position: relative;
						display: flex;
						flex-wrap: wrap;
						justify-content: center;
						align-items: center;
						align-content: center;
						width: 100%;
						height: 7.5rem;
						text-align: center;
						text-decoration: none;
						color: var(--colorMain);
						div {
							position: relative;
							width: 3.6rem;
							height: 3.6rem;
							margin-bottom: 0.2rem;
							.img2 {
								display: none;
							}
						}
						span {
							display: block;
							width: 100%;
						}
					}
				}
			}
			#menuOpen {
				position: relative;
				border-radius: 0 1rem 0 0;
				width: 20%;
				height: 7.5rem;
				background-color: var(--colorMain);
				padding-top: 2.6rem;
				text-align: center;
				color: var(--colorW);
				div {
					position: relative;
					border-radius: 0.3rem;
					background-color: var(--colorW);
					width: 2.4rem;
					height: 0.3rem;
					margin: 0 auto 1.8rem auto;
					text-align: center;
					transition: 0.2s ease;
					&:before, &:after {
						content: "";
						position: absolute;
						left: 0;
						display: block;
						border-radius: 0.3rem;
						background-color: var(--colorW);
						width: 2.4rem;
						height: 0.3rem;
						transition: 0.2s ease;
					}
					&:before {
						top: -0.7rem;
					}
					&:after {
						top: 0.7rem;
					}
				}
				&.active {
					div {
						background-color: var(--colorMain);
						&:before {
							top: 0;
							transform: rotate(45deg);
						}
						&:after {
							top: 0;
							transform: rotate(-45deg);
						}
					}
				}
			}
		}
	}
	.megaMenu {
		display: none;
		position: fixed;
		top: 0;
		background-color: var(--colorW);
		width: 100%;
		height: calc(100svh - 3.6rem);
		padding: 6.5rem 2.4rem 12rem 2.4rem;
		overflow-y: scroll;
		z-index: 999;
		.megaInner {
			position: relative;
			width: 100%;
			.megaLogo {
				width: 15rem;
				margin-bottom: 3rem;
			}
			.menu1 {
				display: flex;
				flex-wrap: wrap;
				gap: 0.6rem;
				li {
					width: calc(50% - 0.3rem);
					a {
						position: relative;
						display: flex;
						justify-content: center;
						align-items: center;
						border-radius: 1rem;
						background-color: var(--colorLink);
						width: 100%;
						height: 5rem;
						padding: 1rem;
						font-size: 1.5rem;
						font-weight: 700;
						line-height: 1;
						text-align: center;
						text-decoration: none;
						color: var(--colorB);
					}
				}
			}
			.menu2 {
				width: 100%;
				margin-top: 2rem;
				font-size: 1.5rem;
				font-weight: 700;
				line-height: 1.3;
				letter-spacing: 0;
				ul {
					display: flex;
					flex-wrap: wrap;
					width: 100%;
					a {
						position: relative;
						display: block;
						padding: 0.8rem 1rem;
					}
					li {
						width: 50%;
						&.spmenuToggle {
							border-top: 1px solid var(--colorMain);
							border-bottom: 1px solid var(--colorMain);
							width: 100%;
							margin: 1rem 0;
							&:has( + .spmenuLink) {
								margin-bottom: 0;
							}
						}
						.spmenuOpen {
							padding: 2.2rem 1rem;
							line-height: 1;
							&:after {
								content: "";
								position: absolute;
								top: 50%;
								right: 0.8rem;
								display: block;
								background: url(../img/icon-open-b.png) no-repeat left center / 2rem;
								width: 2rem;
								height: 2rem;
								margin-top: -1rem;
							}
							&.active {
								&:after {
									background-image: url(../img/icon-close-b.png);
								}
							}
						}
						.spmenuSub {
							display: none;
							border-top: 1px dotted var(--colorMain);
							padding: 1rem 0;
							font-weight: 500;
							overflow: hidden;
							li {
								float: left;
							}
						}
					}
					&.spmenu2nd {
						li:nth-child(1) { order: 0; }
						li:nth-child(2) { order: 2; }
						li:nth-child(3) { order: 1; }
						li:nth-child(4) { order: 3; }
						li:nth-child(5) { order: 4; }
						li:nth-child(6) { order: 5; }
						li:nth-child(7) { order: 6; }
						li:nth-child(8) { order: 7; }
					}
					.spmenuLink {
						width: 100%;
						border-bottom: 1px solid var(--colorMain);
						a {
							padding: 2.2rem 1rem;
							line-height: 1;
							&:after {
								content: "";
								position: absolute;
								top: 50%;
								right: 1.2rem;
								display: block;
								background: url(../img/ar-b.png) no-repeat left center / 1.2rem 1.8rem;
								width: 1.2rem;
								height: 1.8rem;
								margin-top: -0.9rem;
							}
						}
					}
				}
				.character {
					margin-top: 2rem;
					font-size: 1.3rem;
					font-weight: 400;
					text-align: center;
					img {
						display: block;
						width: 11rem;
						margin: 0 auto 0.5rem auto;
					}
					span {
						font-size: 1rem;
					}
				}
			}
			.sns {
				width: 20rem;
				margin: 2.5rem auto 0 auto;
				a {
					display: flex;
					justify-content: center;
					align-items: center;
					border-radius: 0.7rem;
					background-color: #231815;
					width: 20rem;
					height: 5rem;
					font-size: 1.6rem;
					font-weight: 500;
					text-decoration: none;
					color: var(--colorW);
					&:before {
						content: "";
						display: block;
						border-right: 1px solid var(--colorW);
						background: url(../img/icon-x.png) no-repeat left center / 2rem;
						width: 3.5rem;
						height: 2rem;
						margin-right: 1.5rem;
					}
				}
			}
		}
	}
}
body.statusClose {
	.siteHeader {
		.serviceStatus {
			display: none;
		}
		.megaMenu {
			padding-top: 2.5rem;
		}
	}
}










/* FOOTER */

.pageFooter {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	background: url(../img/page-fotter.png) repeat-x 58.5rem bottom / 125rem;
	width: 100%;
	height: 20rem;
	padding: 0 2.4rem;
	font-size: 1rem;
	line-height: 1;
	overflow: hidden;
	ul {
		display: flex;
		position: relative;
		width: 100%;
		white-space: nowrap;
		padding: 1.5rem 0;
		overflow-x: auto;
		li {
			&:after {
				content: "\FF1E";
				margin: 0 1em;
			}
			&:last-child {
				&:after {
					display: none;
				}
			}
		}
	}
	&:after {
		content: "";
		position: absolute;
		left: calc(50% + 1.5rem);
		bottom: 3.6rem;
		display: block;
		background: url(../img/page-fotter-bus.png) no-repeat center center / 15rem;
		width: 15rem;
		height: 5rem;
	}
}

.siteFooter {
	position: relative;
	background-color: var(--colorMain);
	padding: 4.5rem 0 12.5rem 0;
	color: var(--colorW);
	a {
		color: var(--colorW);
	}
	.footerTop {
		width: 100%;
		.logo {
			width: 17rem;
			margin: 0 auto;
		}
		.sns {
			width: 20rem;
			margin: 3.5rem auto 0 auto;
			a {
				display: flex;
				justify-content: center;
				align-items: center;
				border-radius: 0.7rem;
				background-color: #231815;
				width: 20rem;
				height: 5rem;
				font-size: 1.6rem;
				font-weight: 500;
				text-decoration: none;
				&:before {
					content: "";
					display: block;
					border-right: 1px solid var(--colorW);
					background: url(../img/icon-x.png) no-repeat left center / 2rem;
					width: 3.5rem;
					height: 2rem;
					margin-right: 1.5rem;
				}
			}
		}
	}
	.footerMenu {
		width: 24rem;
		margin: 3.5rem auto 0 auto;
		ul {
			border-top: 1px solid var(--colorSub);
			width: 100%;
			li {
				border-bottom: 1px solid var(--colorSub);
				a {
					position: relative;
					display: flex;
					align-items: center;
					width: 100%;
					height: 5.5rem;
					padding: 0 2rem 0 0.5rem;
					font-family: var(--font2);
					font-size: 1.6rem;
					font-weight: 700;
					line-height: 1;
					text-decoration: none;
					transform: rotate(0.03deg);
					&:after {
						content: "";
						position: absolute;
						top: 50%;
						right: 1rem;
						display: block;
						background: url(../img/ar-w.png) no-repeat center center / 0.8rem 1.4rem;
						width: 0.8rem;
						height: 1.4rem;
						margin-top: -0.7rem;
						transition: 0.2s ease;
					}
				}
			}
		}
	}
	.footerBtm {
		width: 100%;
		margin-top: 3rem;
		font-size: 1.2rem;
		text-align: center;
		.copy {
			margin-top: 2.5rem;
			font-size: 1rem;
		}
	}
}










/* INDEX */

.mainBtn {
	position: relative;
	display: flex;
	justify-content: space-between;
	gap: 0.8rem;
	width: 100%;
	margin: 0 auto;
	padding: 0 2rem;
	z-index: 2;
	li {
		width: 100%;
		padding-bottom: 1rem;
	}
	a {
		border: 3px solid var(--colorMain);
		width: 100%;
		padding: 1.6rem 0 2rem 0;
		height: 16rem;
		font-size: 1.8rem;
		line-height: 1.35;
		img {
			width: 6.4rem;
		}
		span {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 100%;
			height: calc(100% - 6.4rem);
		}
	}
}

.indexMv {
	position: relative;
	background: linear-gradient(to bottom,  #d0f3ff 0%,#ffffff 80%);
	width: 100%;
	height: 44rem;
	padding-top: 2.5rem;
	overflow: hidden;
	z-index: 1;
	h1 {
		position: relative;
		width: 15rem;
		margin-bottom: 3rem;
		margin-left: 2.4rem;
		z-index: 2;
	}
	.animationArea {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 44rem;
		overflow: hidden;
		pointer-events: none;
		z-index: 1;
		.airplane {
			animation: airplane 35s linear infinite;
			position: absolute;
			top: 3.5rem;
			left: -4rem;
			width: 4rem;
			z-index: 3;
		}
		.balloon {
			animation: balloon 50s linear infinite;
			position: absolute;
			bottom: 14rem;
			right: -2.5rem;
			width: 2.5rem;
			z-index: 3;
		}
		.cloud {
			animation: cloud 80s linear infinite;
			position: absolute;
			top: 4rem;
			left: 0;
			background: url(../img/index/index-mv-cloud.png) repeat-x 0 top / 150rem;
			width: 100%;
			height: 34rem;
			z-index: 2;
		}
		.bus {
			animation: bus 30s linear infinite;
			position: absolute;
			bottom: 2.5rem;
			left: 30%;
			width: 16rem;
			z-index: 3;
		}
		.busstop {
			animation: busstop 30s linear infinite;
			position: absolute;
			bottom: 2rem;
			left: -10%;
			width: 1.8rem;
			height: 6.4rem;
			z-index: 4;
		}
		.road {
			animation: road 30s linear infinite;
			position: absolute;
			bottom: 0;
			left: 0;
			background: #e5f1fa url(../img/index/index-mv-road.png) repeat-x 0 top / 135rem;
			width: 100%;
			height: 6rem;
			z-index: 2;
		}
		.city {
			animation: city 30s linear infinite;
			position: absolute;
			bottom: 6rem;
			left: 0;
			background: url(../img/index/index-mv-city.png) repeat-x 0 top / 97.5rem;
			width: 100%;
			height: 6.5rem;
			z-index: 2;
		}
	}
}
@keyframes bus {
	0% { bottom: 2.5rem; }
	8.5% { bottom: 2.5rem; }
	9% { bottom: 3rem; }
	10% { bottom: 2.5rem; }
	18.5% { bottom: 2.5rem; }
	19% { bottom: 3rem; }
	20% { bottom: 2.5rem; }
	28.5% { bottom: 2.5rem; }
	29% { bottom: 3rem; }
	30% { bottom: 2.5rem; }
	38.5% { bottom: 2.5rem; }
	39% { bottom: 3rem; }
	40% { bottom: 2.5rem; }
	48.5% { bottom: 2.5rem; }
	49% { bottom: 3rem; }
	50% {bottom: 2.5rem;}
	60% {bottom: 2.5rem;}
	68.5% { bottom: 2.5rem; }
	69% { bottom: 3rem; }
	70% { bottom: 2.5rem; }
	78.5% { bottom: 2.5rem; }
	79% { bottom: 3rem; }
	80% { bottom: 2.5rem; }
	88.5% { bottom: 2.5rem; }
	89% { bottom: 3rem; }
	90% { bottom: 2.5rem; }
	98.5% { bottom: 2.5rem; }
	99% { bottom: 3rem; }
	100% {bottom: 2.5rem; }
}
@keyframes airplane {
	0% {
		left: -4rem;
	}
	50% {
		left: calc(100% + 4rem);
	}
	100% {
		left: calc(100% + 4rem);
	}
}
@keyframes balloon {
	0% {
		right: -2.5rem;
	}
	20% {
		right: -2.5rem;
	}
	100% {
		right: calc(100% + 2.5rem);
	}
}
@keyframes busstop {
	0% {
		left: -10%;
	}
	30% {
		left: -10%;
	}
	50% {
		left: 47%;
	}
	60% {
		left: 47%;
	}
	80% {
		left: 110%;
	}
	100% {
		left: 110%;
	}
}
@keyframes road {
	0% {
		background-position-x: 0;
	}
	50% {
		background-position-x: 75rem;
	}
	60% {
		background-position-x: 75rem;
	}
	100% {
		background-position-x: 135rem;
	}
}
@keyframes city {
	0% {
		background-position-x: 0;
	}
	50% {
		background-position-x: 54.16rem;
	}
	60% {
		background-position-x: 54.16rem;
	}
	100% {
		background-position-x: 97.5rem;
	}
}
@keyframes cloud {
	0% {
		background-position-x: 0;
	}
	100% {
		background-position-x: 150rem;
	}
}

.indexTitle {
	position: relative;
	width: 100%;
	height: 9rem;
	margin-top: -8.5rem;
	h2 {
		position: relative;
		display: flex;
		align-items: center;
		max-width: 100rem;
		height: 9rem;
		margin: 0 auto;
		padding-left: 2.4rem;
		font-family: var(--font2);
		font-size: 2rem;
		font-weight: 700;
		line-height: 1;
		color: var(--colorMain);
		z-index: 2;
		transform: rotate(0.03deg);
		&:before {
			content: "";
			display: block;
			background: url(../img/icon-header.png) no-repeat center center / 3.5rem;
			width: 3.5rem;
			height: 3.5rem;
			margin-right: 1.2rem;
		}
	}
	&:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		border-radius: 0 2rem 2rem 0;
		background-color: var(--colorW);
		width: 25rem;
		height: 9rem;
		z-index: 1;
	}
}

.indexInformation {
	position: relative;
	width: 100%;
	background-color: var(--colorW);
	padding: 0 0 10rem 0;
	z-index: 2;
	.indexTitle {
		margin-top: 0;
	}
}

.indexPickuptitle {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 1.5rem;
	font-family: var(--font2);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: var(--colorMain);
	transform: rotate(0.03deg);
	&:before {
		content: "";
		display: block;
		background: url(../img/icon-check.png) no-repeat center center / 1.6rem;
		width: 1.6rem;
		height: 1.6rem;
		margin-right: 0.8rem;
		z-index: 1;
	}
}
.indexPickup {
	display: none;
	position: relative;
	width: 100%;
	margin-bottom: 4rem;
	&.slick-initialized {
		display: block;
	}
	.slick-list {
		margin: 0 -2.4rem;
	}
	.slick-slide {
		margin: 0 1rem;
	}
	.slick-dots {
		display: flex;
		justify-content: center;
		gap: 1.6rem;
		margin-top: 2rem;
		li {
			width: 1rem;
			height: 1rem;
			button {
				display: block;
				background-color: var(--colorMain);
				border-radius: 0.8rem;
				width: 0.8rem;
				height: 0.8rem;
				padding-top: 0.8rem;
				font-size: 0;
				opacity: 0.3;
				overflow: hidden;
			}
			&.slick-active {
				button {
					opacity: 1;
				}
			}
		}
	}
}

.indexNews {
	.newsTabarea {
		display: flex;
		justify-content: space-between;
		gap: 1.8rem;
		margin-bottom: 3rem;
		li {
			position: relative;
			display: flex;
			justify-content: center;
			align-items: center;
			border: 2px solid var(--colorMain);
			border-radius: 0.5rem;
			background-color: var(--colorW);
			width: calc(50% - 0.9rem);
			height: 3.8rem;
			font-size: 1.4rem;
			font-weight: 700;
			line-height: 1;
			color: var(--colorMain);
			&.active {
				background-color: var(--colorMain);
				color: var(--colorW);
				&:after {
					content: "";
					position: absolute;
					left: 50%;
					bottom: -1.1rem;
					background: url(../img/menu-ar.png) no-repeat center center / 2.3rem 1.2rem;
					width: 2.3rem;
					height: 1.2rem;
					margin-left: -1.15rem;
				}
			}
		}
	}
	.newsArea {
		display: none;
		width: 100%;
		&.active {
			display: block;
		}
	}
	h3 {
		display: none;
	}
	.btnStyle {
		margin-top: 3rem;
		padding: 0 4rem 1rem 4rem;
	}
}

.indexUseful {
	position: relative;
	width: 100%;
	background-color: var(--colorSub);
	padding: 4rem 0 5.5rem 0;
	z-index: 2;
	.indexTitle {
		&:before {
			background-color: var(--colorSub);
		}
	}
}
.indexUsefullist {
	display: flex;
	gap: 1.5rem;
	a {
		position: relative;
		display: block;
		border-radius: 0.5rem;
		background-color: var(--colorW);
		width: 100%;
		padding: 2.5rem 1rem 1.5rem 1rem;
		text-decoration: none;
		text-align: center;
		line-height: 1;
		color: #7796c7;
		box-shadow: 0.5rem 0.5rem 0 #c9ebf5;
		.image {
			background-size: 5rem;
			background-position: center center;
			background-repeat: no-repeat;
			width: 5rem;
			height: 5rem;
			margin: 0 auto;
			&.image1 {
				background-image: url(../img/index/index-info-icon_01.png);
			}
			&.image2 {
				background-image: url(../img/index/index-info-icon_02.png);
			}
			&.image3 {
				background-image: url(../img/index/index-info-icon_03.png);
			}
		}
		h3 {
			display: flex;
			justify-content: center;
			align-items: center;
			margin: 1rem 0 0 0;
			font-family: var(--font2);
			font-size: 1.4rem;
			font-weight: 700;
			line-height: 1.3;
			color: var(--colorMain);
			transform: rotate(0.03deg);
		}
		p {
			display: none;
		}
		&:before {
			content: "";
			position: absolute;
			top: -0.4rem;
			left: 50%;
			display: block;
			background: url(../img/index/index-info-pin.png) no-repeat left top / auto 1rem;
			width: 1rem;
			height: 1rem;
			margin-left: -0.5rem;
		}
	}
}

.indexOurpolicy {
	position: relative;
	background: var(--colorMain) url(../img/index/index-ourpolicy-bg.png) no-repeat center bottom / cover;
	padding: 7rem 0 10rem 0;
	z-index: 1;
	h2 {
		width: 20rem;
		margin: 0 0 4rem -0.8rem;
		& + p {
			font-size: 1.3rem;
			font-weight: 700;
			line-height: 2.1;
			letter-spacing: 0.1em;
			color: var(--colorMain);
			span {
				background-color: var(--colorW);
				padding: 0.3rem 0;
			}
		}
	}
	ul {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		margin-top: 2.4rem;
		padding: 0;
		gap: 1.4rem;
		li {
			width: calc(50% - 0.7rem);
			a {
				height: 8.4rem;
				img {
					width: 4rem;
					margin-right: 0.8rem;
				}
			}
		}
	}
	.image {
		position: absolute;
		top: -3.5rem;
		right: 0;
		border-radius: 2rem 0 0 2rem;
		padding: 0;
		width: 30rem;
		height: 34rem;
		overflow: hidden;
		z-index: -1;
		img {
			object-fit: cover;
			object-position: 35% 0;
			max-width: initial;
			width: 100%;
			height: 100%;
		}
	}
}

.indexService {
	position: relative;
	width: 100%;
	background-color: var(--colorW);
	padding: 4rem 0 5rem 0;
	z-index: 2;
	.innerMin {
		padding: 0 2rem;
	}
	ul {
		display: flex;
		width: 100%;
		padding: 0 0 1rem 0;
		gap: 0.8rem;
		li {
			width: 100%;
			a {
				padding: 1.5rem 0 1.7rem 0;
				font-size: 1.5rem;
				letter-spacing: 0;
				span {
					display: block;
					width: 100%;
					margin-bottom: 1.2rem;
				}
				img {
					display: block;
					width: 8.4rem;
					margin: 0 auto;
				}
			}
		}
	}
}










/* rosen */

.rosen-topmenu {
	position: relative;
	width: calc(100% + 4.8rem);
	margin: 2.5rem -2.4rem 4rem -2.4rem;
	.imgBox {
		width: 100%;
		z-index: 1;
	}
	.menu {
		position: relative;
		width: 100%;
		margin-top: -2rem;
		z-index: 2;
		.btnStyle2 {
			margin-top: 1.5rem;
			li {
				width: 100%;
				margin-top: 0.5rem;
				padding: 0 2.4rem;
			}
		}
	}
}

.linkList, .linkList2 {
	position: relative;
	width: 100%;
	margin-top: 2rem;
	li {
		margin-bottom: 0.6rem;
		&:last-child {
			margin-bottom: 0;
		}
	}
	a {
		position: relative;
		display: flex;
		align-items: center;
		padding-left: 2rem;
		line-height: 1.6;
		&:before {
			content: "";
			position: absolute;
			top: 0.4rem;
			left: 0;
			display: block;
			background: url(../img/ar2-b.png) no-repeat center center / 1.4rem;
			width: 1.4rem;
			height: 1.4rem;
			transition: 0.2s ease;
		}
		&[href$=".pdf"] {
			&:after {
				content: "";
				display: block;
				background: url(../img/icon-pdf.png) no-repeat center center / 1.4rem;
				width: 1.4rem;
				height: 1.4rem;
				margin-left: 0.8rem;
				flex-shrink: 0;
			}
		}
		span {
			border-radius: 0.3rem;
			background-color: var(--colorLink);
			margin-left: 0.8rem;
			padding: 0.3rem 0.6rem;
			font-size: 1.1rem;
			font-weight: 400;
			line-height: 1;
			text-decoration: none;
			color: var(--colorMain);
			white-space: nowrap;
			flex-shrink: 0;
		}
	}
	&:first-child {
		margin-top: 0;
	}
}
.linkList3 {
	position: relative;
	width: 100%;
	li {
		margin-bottom: 1.2rem;
		a {
			margin-bottom: 0.6rem;
		}
		&:last-child {
			margin-bottom: 0;
		}
	}
}

.sideContents {
	width: 100%;
	.sideRead {
		position: relative;
		width: 100%;
	}
	.sideMenu {
		position: relative;
		width: 100%;
		margin-top: 3rem;
		dl {
			display: flex;
			flex-wrap: wrap;
			align-items: flex-start;
			gap: 0.6rem;
			width: 100%;
			padding: 0 !important;
			dt {
				width: 100%;
				margin: 2rem 0 0.5rem 0;
				font-family: var(--font2);
				font-size: 1.6rem;
				font-weight: 700;
				line-height: 1;
				transform: rotate(0.03deg);
				&:first-child {
					margin-top: 0;
				}
			}
			dd {
				position: relative;
				width: calc(50% - 0.3rem);
				padding-bottom: 1rem;
				a {
					width: 100%;
					min-height: 5rem;
					padding: 0.5rem 1rem 0.5rem 1rem;
					letter-spacing: 0;
				}
				select {
					border-radius: 1rem;
					background-color: var(--colorLink);
					width: 100%;
					height: 5rem;
					font-size: 1.6rem;
					font-weight: 700;
					line-height: 1;
					text-align: center;
					cursor: pointer;
				}
				button {
					width: 100%;
					min-height: 4rem;
					padding: 0.5rem 1rem 0.5rem 1rem;
				}
				&:has(select) {
					width: calc(65% - 0.3rem);
					padding-bottom: 0;
					&:after {
						content: "";
						position: absolute;
						top: 50%;
						right: 1.5rem;
						display: block;
						background: url(../img/ar-b.png) no-repeat center center / 1rem 1.6rem;
						width: 1rem;
						height: 1.6rem;
						margin-top: -0.8rem;
						pointer-events: none;
						transform: rotate(90deg);
						z-index: 2;
					}
				}
				&:has(button) {
					width: calc(35% - 0.3rem);
				}
			}
		}
	}
}

.operationsMenu {
	display: flex;
	justify-content: center;
	gap: 1rem;
	width: 100%;
	margin: 2rem 0 4rem 0;
	padding: 0;
	li {
		width: 100%;
		padding-bottom: 1rem;
		a {
			font-size: 2rem;
		}
	}
}
.operationsMain {
	position: relative;
	border: 1px solid var(--colorBorder);
	border-radius: 1rem;
	background-color: var(--colorW);
	width: 100%;
	min-height: 9rem;
	margin-top: 2rem;
	padding: 2rem;
	overflow: hidden;
	.hidden {
		display: none;
	}
	.title {
		width: 100%;
		h3 {
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1.3;
			color: var(--colorB);
		}
		p {
			display: flex;
			justify-content: center;
			align-items: center;
			border-radius: 0.5rem;
			background-color: #78c8b0;
			width: 8rem;
			height: 3.2rem;
			margin-top: 0.8rem;
			font-size: 1.4rem;
			font-weight: 700;
			text-align: center;
			color: var(--colorW);
			&.normal {
				background-color: #78c8b0;
			}
			&.caution {
				background-color: #f2c700;
			}
			&.emergency {
				background-color: #eb655b;
			}
		}
	}
	.info {
		position: relative;
		width: 100%;
		margin-top: 1.5rem;
		z-index: 1;
		h4 {
			display: flex;
			align-items: center;
			padding: 0 0 0 2rem;
			font-size: 1.4rem;
			font-weight: 700;
			line-height: 1.4;
			&.normal {
				border-radius: 0.5rem;
				background-color: #2069d6;
				margin-top: 1rem;
				padding: 1rem 2rem 0.8rem 2rem;
				color: var(--colorW);
			}
			&.caution {
				border: 3px solid var(--colorLink);
				border-radius: 0.5rem;
				background-color: var(--colorW);
				margin-top: 1rem;
				padding: 0.7rem calc(2rem - 3px) 0.5rem calc(2rem - 2px);
				color: var(--colorB);
			}
			&.emergency {
				color: var(--colorRed);
			}
		}
		.txtArea {
			width: 100%;
			margin: 1.5rem 0;
			padding-left: 2rem;
			font-size: 1.3rem;
		}
		.btnStyle {
			margin-top: 2rem;
			a {
				border-radius: 1rem;
				width: 100%;
				min-height: 4rem;
				font-size: 1.4rem;
			}
		}
	}
	.operationsOpen {
		position: absolute;
		border-radius: 0 0 0 1rem;
		top: 0;
		right: 0;
		background: var(--colorMain) url(../img/icon-open-w.png) no-repeat center center / 1.4rem;
		width: 4rem;
		height: 4rem;
		cursor: pointer;
		transition: 0.2s ease;
	}
	&.active {
		align-items: inherit;
		height: auto;
		.operationsOpen {
			background-image: url(../img/icon-close-w.png);
		}
		.info {
			&:before {
				content: "";
				position: absolute;
				top: 0.2rem;
				left: 0;
				display: block;
				border-radius: 1.3rem;
				background-color: var(--colorLink);
				width: 1.3rem;
				height: 1.3rem;
				z-index: -1;
			}
			&:after {
				content: "";
				position: absolute;
				top: 0.5rem;
				left: 0.5rem;
				display: block;
				height: calc(100% - 1rem);
				border-left: 3px solid var(--colorLink);
				z-index: -1;
			}
		}
	}
}
.operationsCertificate {
	width: 100%;
	margin: 4rem 0;
	ul {
		width: 100%;
		li {
			margin-bottom: 0.5rem;
			&:last-child {
				margin-bottom: 0;
			}
			a {
				position: relative;
				display: block;
				border-radius: 0.5rem;
				background-color: var(--colorSub);
				width: 100%;
				padding: 1.2rem 3.5rem 1.2rem 1.5rem;
				font-size: 1.4rem;
				text-decoration: none;
				line-height: 1.3;
				&:after {
					content: "";
					position: absolute;
					top: 50%;
					right: 1.5rem;
					display: block;
					background: url(../img/ar-b.png) no-repeat center center / 0.7rem 1.2rem;
					width: 0.7rem;
					height: 1.2rem;
					margin-top: -0.6rem;
				}
			}
		}
	}
}
.operationsOtherpage {
	margin: 4rem 0 0 0;
	h3 {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 1.5rem;
		font-size: 1.5rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		line-height: 1.3;
		&:before {
			content: "";
			display: block;
			background: url(../img/icon-check.png) no-repeat center center / 1.6rem;
			width: 1.6rem;
			height: 1.6rem;
			margin-right: 0.8rem;
		}
		span {
			width: calc(100% - 2.4rem);
		}
	}
	.mainBtn {
		padding: 0;
	}
}

.certificateNote {
	margin: 2rem 0 4rem 0;
	dt {
		margin-bottom: 0.8rem;
		font-weight: 700;
	}
	dd {
		position: relative;
		margin-bottom: 0.5rem;
		padding-left: 1em;
		&:before {
			content: "";
			position: absolute;
			top: 0.85rem;
			left: 0;
			border-radius: 0.6rem;
			background-color: var(--colorMain);
			width: 0.6rem;
			height: 0.6rem;
		}
	}
}
.certificateMain {
	border: 1px solid var(--colorB);
	border-radius: 1rem;
	background-color: var(--colorW);
	max-width: 80rem;
	margin: 4rem auto 2rem auto;
	padding: 3rem 2rem 2rem 2rem;
	font-size: 1.3rem;
	color: var(--colorB);
	h2 {
		margin-bottom: 2rem;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.3em;
		text-align: center;
	}
	p {
		text-align: center;
	}
	.day {
		margin-top: 1.2rem;
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.05em;
	}
	dl {
		margin: 3rem 0;
		dt {
			font-size: 1.4rem;
			font-weight: 400;
			line-height: 1.7;
		}
		dd {
			border-top: 1px solid var(--colorB);
			margin-top: 0.6rem;
			padding-top: 1rem;
			font-size: 1.1rem;
			li {
				position: relative;
				padding-left: 1em;
				margin-bottom: 0.4rem;
				&:last-child {
					margin-bottom: 0;
				}
				&:before {
					content: "";
					position: absolute;
					top: 0.65rem;
					left: 0;
					border-radius: 0.4rem;
					background-color: var(--colorB);
					width: 0.4rem;
					height: 0.4rem;
				}
			}
		}
	}
	.logo {
		width: 15rem;
		margin: 0 auto;
	}
	.copy {
		margin-top: 0.9rem;
		font-size: 0.9rem;
		letter-spacing: 0.05em;
	}
}
.certificatePrint {
	width: 20rem;
	margin: 2rem auto 0 auto;
}
.certificateClose {
	margin-top: 1.5rem;
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
	a {
		position: relative;
		text-decoration: none;
		color: var(--colorB);
	}
}

.counterIcon {
	span {
		display: block;
		border-radius: 0.5rem;
		background-color: var(--colorMain);
		width: 5rem;
		height: 2.4rem;
		font-size: 1.2rem;
		font-weight: 700;
		line-height: 2.4rem;
		text-align: center;
		color: var(--colorW);
		white-space: nowrap;
		overflow: hidden;
		&.route {
			background-color: var(--colorMain);
		}
		&.counter {
			background-color: var(--colorB);
		}
		&.hanica {
			background-color: var(--colorOrange);
		}
		&.directly {
			background-color: var(--colorMain2);
		}
		&.commit {
			background-color: var(--colorGray);
		}
	}
}
.counterCategory {
	border-top: 1px solid var(--colorBorder);
	border-bottom: 1px solid var(--colorBorder);
	margin-top: 5rem;
	dt {
		padding: 1rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1;
		text-align: center;
	}
	dd {
		border-top: 1px dotted var(--colorBorder);
		padding: 1rem 0;
	}
	.counterIcon {
		width: 100%;
		li {
			display: flex;
			align-items: center;
			gap: 0.8rem;
			width: 100%;
			margin: 0.5rem 0;
			font-size: 1.3rem;
		}
	}
	& + ul {
		margin-top: 1rem;
		font-size: 1.2rem;
		line-height: 1.6;
		li {
			position: relative;
			padding-left: 1em;
			&:before {
				content: "";
				position: absolute;
				top: 0.45em;
				left: 0;
				border-radius: 0.6rem;
				background-color: var(--colorMain);
				width: 0.6rem;
				height: 0.6rem;
			}
		}
	}
}
.counterArea {
	width: 100%;
	.counterMenu {
		width: 100%;
		ul {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			gap: 1.5rem 1rem;
			width: 100%;
			margin: 2rem 0 4rem 0;
			padding: 0;
			li {
				width: calc(calc(100% - 2rem) / 3);
				padding-bottom: 1rem;
				a {
					font-size: 2rem;
				}
				&.filter {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 100%;
					padding-bottom: 0;
					font-size: 1.2rem;
					font-weight: 500;
					text-align: center;
					line-height: 1.4;
					label {
						margin-right: 1rem;
					}
				}
			}
		}
	}
	.counterRead {
		width: 100%;
		margin-top: 2rem;
	}
}
.counterMain {
	position: relative;
	border-top: 1px solid var(--colorBorder);
	border-bottom: 1px solid var(--colorBorder);
	width: 100%;
	& + .counterMain {
		border-top: none;
	}
	h4 {
		position: relative;
		display: flex;
		align-items: center;
		background-color: var(--colorW);
		width: 100%;
		min-height: 6rem;
		padding: 1rem 4rem 1rem 1rem;
		font-size: 1.8rem;
		font-weight: 700;
		line-height: 1.3;
		cursor: pointer;
		&:after {
			content: "";
			position: absolute;
			top: 50%;
			right: 1rem;
			display: block;
			background: url(../img/icon-open-b.png) no-repeat center center / 2rem;
			width: 2rem;
			height: 2rem;
			margin-top: -1rem;
		}
		&.active {
			background-color: var(--colorLink);
			&:after {
				background-image: url(../img/icon-close-b.png);
			}
		}
	}
	.mainList {
		display: none;
		border-top: 1px solid var(--colorBorder);
		padding-left: 1rem;
	}
	.counterSub {
		position: relative;
		border-top: 1px solid var(--colorBorder);
		width: 100%;
		&:first-of-type {
			border-top: none;
		}
		h5 {
			position: relative;
			width: 100%;
			min-height: 5rem;
			padding: 1.4rem 4rem 1.4rem 0;
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1.4;
			cursor: pointer;
			&:after {
				content: "";
				position: absolute;
				top: 50%;
				right: 1rem;
				display: block;
				background: url(../img/icon-open-b.png) no-repeat center center / 2rem;
				width: 2rem;
				height: 2rem;
				margin-top: -1rem;
			}
			&.active {
				&:after {
					background-image: url(../img/icon-close-b.png);
				}
			}
			div {
				a[target="_blank"] {
					background: url(../img/icon-blank.png) no-repeat right center / 1.2rem;
					margin-left: 1rem;
					padding-right: 1.6rem;
					font-size: 1.4rem;
				}
			}
			.counterIcon {
				display: flex;
				gap: 0.2rem;
				margin-top: 0.6rem;
				white-space: nowrap;
			}
		}
	}
	.subData {
		display: none;
		border-top: 1px dotted var(--colorBorder);
		padding: 1.5rem 0;
		dl {
			width: 100%;
			line-height: 1.6;
			dt {
				margin-bottom: 0.6rem;
				font-weight: 500;
			}
			dd {
				margin-bottom: 1.5rem;
				padding-left: 1rem;
				font-weight: 700;
				&:last-child {
					margin-bottom: 0;
				}
				span {
					display: block;
					font-size: 1.2rem;
					font-weight: 400;
				}
				ul {
					display: flex;
					flex-wrap: wrap;
					gap: 1rem 2rem;
					margin-bottom: 0.6rem;
					&:last-child {
						margin-bottom: 0;
					}
					&.icon {
						gap: 0.2rem;
						li {
							display: flex;
							justify-content: center;
							align-items: center;
							border: 1px solid var(--colorGray);
							border-radius: 0.4rem;
							background-color: var(--colorW);
							width: calc(calc(100% - 0.4rem) / 3);
							height: 3rem;
							font-size: 1.2rem;
							font-weight: 700;
							line-height: 1;
							overflow: hidden;
							&.on {
								border: none;
								background-color: var(--colorLink);
							}
							&.off {
								border: none;
								background-color: var(--colorGray);
								color: var(--colorW);
							}
						}
					}
				}
			}
		}
	}
}
.counterBanner {
	position: relative;
	width: 100%;
	margin: 4rem auto 0 auto;
	text-decoration: none;
	color: var(--colorW);
	span {
		position: absolute;
		left: 1.6rem;
		bottom: 1.2rem;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 1px solid var(--colorW);
		border-radius: 0.5rem;
		width: 14rem;
		height: 2.6rem;
		padding: 0 0.5rem;
		font-size: 1rem;
		font-weight: 700;
		line-height: 1;
		transition: 0.2s ease;
		z-index: 2;
	}
	img {
		position: relative;
		z-index: 1;
	}
}
.toggleButton {
	display: inline-block;
	position: relative;
	width: 7rem;
	height: 3.5rem;
	border-radius: 3.5rem;
	background-color: var(--colorGray);
	box-sizing: content-box;
	cursor: pointer;
	transition: 0.2s ease;
	&:after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		border: 2px solid var(--colorGray);
		border-radius: 50%;
		width: 3.5rem;
		height: 3.5rem;
		background-color: var(--colorW);
		transition: 0.2s ease;
	}
	&:has(:checked) {
		background-color: var(--colorMain);
		&:after {
			left: 50%;
			border-color: var(--colorMain);
		}
	}
	input {
		display: none;
	}
}


.timetableMain {
	position: relative;
	border-top: 1px solid var(--colorBorder);
	width: 100%;
	& + .timetableMain {
		border-top: none;
	}
	.areaName {
		position: relative;
		display: flex;
		align-items: center;
		border-bottom: 1px solid var(--colorBorder);
		background-color: var(--colorW);
		width: 100%;
		min-height: 6rem;
		padding: 1rem 4rem 1rem 1rem;
		font-size: 1.8rem;
		font-weight: 700;
		line-height: 1.3;
		cursor: pointer;
		&:after {
			content: "";
			position: absolute;
			top: 50%;
			right: 1rem;
			display: block;
			background: url(../img/icon-open-b.png) no-repeat center center / 2rem;
			width: 2rem;
			height: 2rem;
			margin-top: -1rem;
		}
		&.active {
			background-color: var(--colorLink);
			&:after {
				background-image: url(../img/icon-close-b.png);
			}
		}
	}
	.timeList {
		display: none;
		border-bottom: 1px solid var(--colorBorder);
		width: 100%;
		padding-left: 1rem;
		.timeData {
			border-bottom: 1px dotted var(--colorBorder);
			padding: 2rem 0;
			&:last-child {
				border-bottom: none;
			}
			h4 {
				margin-bottom: 1.5rem;
				font-size: 1.6rem;
				font-weight: 700;
				line-height: 1.2;
			}
			.timeSub {
				width: 100%;
				margin-top: 1.5rem;
				p {
					span {
						padding-left: 1em;
						font-size: 1.2rem;
						color: var(--colorRed);
					}
				}
				ul {
					display: flex;
					gap: 0.5rem;
					width: 20rem;
					margin-top: 1rem;
					margin-left: auto;
					li {
						width: 100%;
						a {
							position: relative;
							display: flex;
							justify-content: center;
							align-items: center;
							border-radius: 0.5rem;
							background-color: var(--colorLink);
							width: 100%;
							height: 3.6rem;
							font-size: 1.4rem;
							font-weight: 700;
							line-height: 1;
							text-align: center;
							text-decoration: none;
							color: var(--colorB);
							overflow: hidden;
							z-index: 1;
							&:hover {
								background-color: var(--colorMain);
								color: var(--colorW);
							}
						}
						&.holiday {
							a {
								background-color: #f2e7d3;
								&:hover {
									background-color: var(--colorMain2);
								}
							}
						}
						&.allday {
							a {
								&:before {
									content: "";
									clip-path: polygon(1rem 0%, 100% 0, 100% 100%, 0 100%);
									position: absolute;
									top: 0;
									right: -1px;
									display: block;
									background-color: #f2e7d3;
									width: calc(50% + 0.5rem);
									height: 100%;
									z-index: -1;
									transition: 0.2s ease;
								}
								&:hover {
									&:before {
										background-color: var(--colorMain2);
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

.lostFlow {
	margin-top: 2rem;
	dl {
		dt {
			margin-bottom: 0.8rem;
			font-size: 1.4rem;
			color: var(--colorB);
		}
	}
	p {
		margin-top: 1.5rem;
		a {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			align-content: center;
			border-radius: 1rem;
			background: var(--colorLink) url(../img/rosen/lost-icon_on.png) no-repeat 4rem center / 7rem;
			width: 100%;
			height: 11.5rem;
			padding-left: 14rem;
			font-size: 1.4rem;
			font-weight: 500;
			line-height: 1.6;
			text-decoration: none;
			color: var(--colorMain);
			strong {
				display: block;
				width: 100%;
				margin-bottom: 0.8rem;
				font-family: var(--font2);
				font-size: 2rem;
				font-weight: 700;
				letter-spacing: 0;
				line-height: 1.2;
				transform: rotate(0.03deg);
			}
			span {
				position: relative;
				&:after {
					content: "";
					position: absolute;
					top: 50%;
					right: -2.4rem;
					display: block;
					background: url(../img/ar-b.png) no-repeat center center / 1rem 1.6rem;
					width: 1rem;
					height: 1.6rem;
					margin-top: -0.8rem;
					transition: 0.2s ease;
				}
			}
		}
	}
}

.mapWrap {
	position: relative;
	width: 100%;
	margin: 2rem auto;
	white-space: nowrap;
	overflow-x: scroll;
	img {
		position: relative;
		max-width: inherit;
		width: 100rem;
		height: auto;
		z-index: 1;
	}
	&:before {
		content: "";
		position: absolute;
		top: 1rem;
		left: 1rem;
		border-radius: 1rem;
		background: var(--colorB) url(../img/icon-swipe.png) no-repeat center center / 10rem;
		width: 10rem;
		height: 6rem;
		opacity: 0.8;
		z-index: 2;
	}
	&.touch {
		&:before {
			opacity: 0.2;
		}
	}
}

.guideMenu {
	width: 100%;
	margin: 2rem 0 4rem 0;
	li {
		width: 100%;
		margin-bottom: 0.5rem;
		padding-bottom: 1rem;
		a {
			min-height: 4.5rem;
			padding: 0.8rem 1.5rem 1rem 1.5rem;
		}
	}
}
.guideVehicle {
	width: 100%;
	margin: 2rem 0;
	padding: 0 2.4rem;
	div {
		position: relative;
		width: 100%;
		margin-bottom: 1rem;
		padding-bottom: 1.5rem;
		p {
			position: absolute;
			bottom: 0;
			right: 0;
			display: flex;
			justify-content: center;
			align-items: center;
			border-radius: 3rem;
			background-color: var(--colorMain);
			width: 13rem;
			height: 3rem;
			font-size: 1.2rem;
			line-height: 1;
			text-align: center;
			color: var(--colorW);
		}
		&:nth-of-type(2) {
			p {
				background-color: #78c7b0;
			}
		}
	}
}
.guideFlow {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 2rem 0 3rem 0;
	li {
		width: calc(calc(100% - 1rem) / 3);
		a {
			display: flex;
			justify-content: center;
			align-items: center;
			border-radius: 0.5rem;
			background: var(--colorLink) url(../img/rosen/flow-right.png) no-repeat right center / 2rem 100%;
			width: 100%;
			min-height: 5rem;
			padding: 0.5rem;
			font-size: 1.2rem;
			font-weight: 700;
			line-height: 1.3;
			text-align: center;
			text-decoration: none;
			&:hover {
				background-color: var(--colorMain);
				color: var(--colorW);
			}
		}
	}
}
.busDestination {
	display: flex;
	gap: 0.5rem;
	li {
		width: 100%;
		img {
			display: block;
			border-radius: 0.5rem;
			overflow: hidden;
		}
		p {
			display: flex;
			justify-content: center;
			align-items: center;
			border-radius: 3rem;
			background-color: var(--colorMain);
			width: 100%;
			min-height: 2.8rem;
			margin-top: 0.6rem;
			padding: 0.5rem 1rem;
			font-size: 1.3rem;
			line-height: 1.2;
			text-align: center;
			color: var(--colorW);
		}
	}
}
.busRide {
	width: 100%;
	margin: 2rem 0 3rem 0;
	.payment {
		width: 100%;
		margin-bottom: 1rem;
		.box {
			border: 3px solid var(--colorLink);
			border-radius: 1rem;
			background-color: var(--colorLink);
			overflow: hidden;
			.top {
				display: flex;
				flex-direction: column;
				justify-content: flex-end;
				align-items: center;
				padding: 1.5rem 2rem;
				ul {
					font-size: 1.2rem;
					line-height: 1.5;
					strong {
						font-size: 1.4rem;
					}
					li {
						position: relative;
						margin-bottom: 0.6rem;
						padding-left: 2.2rem;
						&:before {
							content: "";
							position: absolute;
							top: 0.2rem;
							left: 0;
							display: block;
							background: url(../img/rosen/check_01.png) no-repeat center center / 1.5rem;
							width: 1.5rem;
							height: 1.5rem;
						}
					}
				}
				p {
					position: relative;
					display: block;
					border-radius: 0.5rem;
					background-color: var(--colorW);
					width: 100%;
					margin-top: 1rem;
					padding: 1.2rem 2rem;
					font-size: 1.4rem;
					font-weight: 700;
					line-height: 1.6;
					text-align: center;
					&:before {
						content: "";
						position: absolute;
						top: 0;
						left: 50%;
						width:0;
						height:0;
						border-style:solid;
						border-width: 1rem 1rem 0 1rem;
						border-color: var(--colorLink) transparent transparent transparent;
						margin-left: -1rem;
					}
				}
			}
		}
		&:nth-of-type(2) {
			.box {
				border: 4px solid #f2e7d3;
				background-color: #f2e7d3;
				.top {
					ul {
						li {
							&:before {
								background-image: url(../img/rosen/check_02.png);
							}
						}
					}
					p {
						&:before {
							border-color: #f2e7d3 transparent transparent transparent;
						}
					}
				}
			}
		}
		.note {
			margin-top: 1rem;
			padding-left: 1em;
			text-indent: -1em;
		}
	}
}
.busRide_en {
	border-radius: 1rem;
	background-color: #f2e7d3;
	margin: 2rem 0 3rem 0;
	padding: 2rem;
	h4 {
		margin-bottom: 0.5rem;
		font-size: 1.6rem;
		font-weight: 700;
	}
	.cash {
		width: 100%;
		.read {
			width: 100%;
			margin-bottom: 1.5rem;
			letter-spacing: 0;
			span {
				color: var(--colorRed);
			}
		}
		.image {
			border-radius: 0.5rem;
			width: 100%;
			overflow: hidden;
		}
	}
}
.busFare {
	width: 100%;
	margin: 2rem 0 3rem 0;
	.fare {
		border-radius: 0.5rem;
		background-color: var(--colorLink);
		width: 100%;
		margin-bottom: 1rem;
		padding: 1.8rem 2rem;
		h4 {
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1.2;
			text-align: center;
		}
		img {
			display: block;
			border-radius: 0.5rem;
			overflow: hidden;
			margin: 1.5rem 0;
		}
	}
	.notice {
		border-radius: 0.5rem;
		background-color: var(--colorImportant);
		width: 100%;
		div {
			padding: 1.8rem 2rem 0.5rem 2rem;
			h4 {
				display: flex;
				align-items: center;
				margin-bottom: 1.5rem;
				font-size: 1.6rem;
				font-weight: 700;
				line-height: 1;
				color: var(--colorRed);
				&:before {
					content: "";
					background: url(../img/icon-caution.png) no-repeat center center / 2rem;
					width: 2rem;
					height: 2rem;
					margin-right: 0.6rem;
				}
			}
			dt {
				margin-bottom: 0.5rem;
				font-size: 1.6rem;
				font-weight: 700;
				line-height: 1.4;
			}
		}
		img {
			width: 100%;
		}
	}
}
.busManual {
	position: relative;
	width: 100%;
	.read {
		width: 100%;
		margin-bottom: 2rem;
		ul.manual {
			width: 100%;
			margin: 3rem 0;
			li {
				width: 14rem;
				margin-bottom: 0.5rem;
				padding: 0;
				&:before {
					display: none;
				}
				a {
					display: flex;
					flex-direction: column;
					justify-content: center;
					border-radius: 0.5rem;
					background-color: var(--colorLink);
					width: 100%;
					min-height: 6.5rem;
					font-size: 1.4rem;
					font-weight: 700;
					line-height: 1.6;
					text-align: center;
					text-decoration: none;
					color: var(--colorB);
					span {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 100%;
						font-size: 1.3rem;
						font-weight: 500;
						&:before {
							content: "";
							display: block;
							background: url(../img/icon-pdf.png) no-repeat center center / 1.2rem;
							width: 1.2rem;
							height: 1.2rem;
							margin-right: 0.5rem;
							flex-shrink: 0;
						}
					}
					&:after {
						display: none;
					}
				}
				&:last-of-type {
					a {
						background-color: #f2e7d3;
					}
				}
			}
		}
		.note {
			font-size: 1.2rem;
			padding-left: 1em;
			text-indent: -1em;
		}
	}
	img {
		position: absolute;
		top: 10.3rem;
		right: 0;
		display: block;
		width: 16rem;
		margin: 0 auto;
	}
}


.txtColumn {
	width: 100%;
	margin: 2rem 0;
	&:last-of-type {
		margin-bottom: 0;
	}
	.image {
		margin-top: 2rem;
	}
	&.imgWide {
		.image {
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			gap: 1rem;
		}
	}
	&.health {
		.image {
			position: relative;
			text-align: center;
			.project {
				position: absolute;
				right: -1.5rem;
				bottom: -5rem;
				width: 10rem;
				z-index: 2;
			}
		}
	}
	&.headFirst {
		margin-top: 4rem;
	}
}

.routeSearch {
	position: relative;
	width: 100%;
	margin: 5rem auto 0 auto;
	padding: 0 2.4rem;
	.routeGuide {
		border-radius: 1rem;
		background-color: var(--colorLink);
		width: 100%;
		margin-bottom: 2rem;
		padding: 3rem 2rem 2rem 2rem;
		font-size: 1.4rem;
		line-height: 1.7;
		&:before {
			content: "";
			position: absolute;
			top: -3rem;
			left: 50%;
			display: block;
			background: url(../img/search/search-img.png) no-repeat center center / 15rem;
			width: 15rem;
			height: 5.2rem;
			margin-left: -7.5rem;
		}
		span {
			display: none;
		}
	}
	.routeMap {
		position: relative;
		background: #fff url(../img/search/search-map.png) no-repeat left bottom / 56rem;
		width: calc(100% + 4.8);
		height: 32rem;
		margin: 0 -2.4rem;
		overflow: hidden;
		z-index: 1;
		.routeArea {
			position: absolute;
			top: 0;
			left: 0;
			background: url(../img/search/search-area.png) no-repeat left bottom / 56rem;
			width: 100%;
			height: 32rem;
			z-index: 2;
			pointer-events: none;
		}
		.modalOpen {
			position: absolute;
			outline: 2px solid var(--colorMain2);
			outline-offset: -1px;
			font-size: 0;
			color: #fff;
			cursor: pointer;
			&:after {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				display: block;
				width: 100%;
				height: 100%;
				background-color: rgba(217, 241, 248, 0.6);
				transition: 0.3s ease;
				mix-blend-mode: multiply;
				z-index: -1;
			}
			&.area1 {
				top: 11.9rem;
				left: 2.8rem;
				width: 8.2rem;
				height: 7.7rem;
			}
			&.area2 {
				top: 19.6rem;
				left: 2.8rem;
				width: 8.2rem;
				height: 6.1rem;
			}
			&.area3 {
				top: 5.2rem;
				left: 11rem;
				width: 5.4rem;
				height: 10rem;
			}
			&.area4 {
				top: 15.2rem;
				left: 11rem;
				width: 5.4rem;
				height: 4.4rem;
			}
			&.area5 {
				top: 19.6rem;
				left: 11rem;
				width: 2.2rem;
				height: 6.1rem;
			}
			&.area6 {
				top: 19.6rem;
				left: 13.2rem;
				width: 3.2rem;
				height: 6.1rem;
			}
			&.area7 {
				top: 5.2rem;
				left: 16.4rem;
				width: 6.4rem;
				height: 6.7rem;
			}
			&.area8 {
				top: 11.9rem;
				left: 16.4rem;
				width: 6.4rem;
				height: 5.4rem;
			}
			&.area9 {
				top: 17.3rem;
				left: 16.4rem;
				width: 3rem;
				height: 8.4rem;
			}
			&.area10 {
				top: 17.3rem;
				left: 19.4rem;
				width: 3.4rem;
				height: 8.4rem;
			}
			&.area11 {
				top: 11.9rem;
				left: 22.8rem;
				width: 4.3rem;
				height: 7.8rem;
			}
			&.area12 {
				top: 18.8rem;
				left: 22.8rem;
				width: 4.3rem;
				height: 2.9rem;
			}
			&.area13 {
				top: 9.2rem;
				left: 27.1rem;
				width: 5.6rem;
				height: 6.6rem;
			}
		}
	}
	.routeModal {
		display: none;
		position: absolute;
		top: 2.4rem;
		left: 0;
		background-color: rgba(0, 0, 0, 0.7);
		width: 100%;
		padding: 2.4rem;
		color: #fff;
		z-index: 10;
		.modalClose {
			position: absolute;
			top: 0.5rem;
			right: 0.5rem;
			width: 3rem;
			height: 3rem;
			cursor: pointer;
			&:before, &:after {
				content: "";
				position: absolute;
				top: 50%;
				left: 50%;
				display: block;
				border-radius: 0.4rem;
				background-color: var(--colorW);
				width: 3rem;
				height: 0.4rem;
				margin: -0.2rem 0 0 -1.5rem;
			}
			&:before {
				transform: rotate(45deg);
			}
			&:after {
				transform: rotate(-45deg);
			}
		}
		.routeTitle {
			margin-bottom: 2rem;
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1;
		}
		.routeSystem {
			.box {
				width: 100%;
				margin-top: 1rem;
				a {
					display: block;
					border-radius: 1rem;
					background-color: #fff;
					text-decoration: none;
					overflow: hidden;
					.name {
						border-radius: 1rem 1rem 0 0;
						background-color: var(--colorMain);
						padding: 0.4rem 1rem;
						font-size: 1.3rem;
						font-weight: 700;
						line-height: 1;
						text-align: center;
						color: var(--colorW);
					}
					.image {
						background-color: var(--colorW);
						text-align: center;
						overflow: hidden;
						img {
							width: auto;
							height: 10rem;
						}
					}
					.link {
						border-radius: 0 0 1rem 1rem;
						background-color: #f5ebdb;
						padding: 0.7rem 1rem;
						font-size: 1.4rem;
						font-weight: 700;
						line-height: 1;
						text-align: center;
						color: var(--colorB);
						transition: 0.3s ease;
					}
				}
			}
		}
	}
}










/* Combus */

.combus-kist {
	width: 100%;
	a {
		position: relative;
		display: flex;
		justify-content: space-between;
		border: 1px solid var(--colorMain);
		border-radius: 1rem;
		background-color: var(--colorW);
		width: 100%;
		margin-top: 1rem;
		padding: 1rem;
		text-decoration: none;
		color: var(--colorB);
		overflow: hidden;
		&:before {
			content: "";
			position: absolute;
			left: 0;
			bottom: 0;
			display: block;
			background-color: var(--colorMain);
			width: 100%;
			height: 3rem;
			z-index: 1;
		}
		&:after {
			content: "";
			position: absolute;
			top: 40%;
			right: 2rem;
			display: block;
			background: url(../img/ar-b.png) no-repeat center center / 0.9rem 1.4rem;
			width: 0.9rem;
			height: 1.4rem;
			transition: 0.2s ease;
			z-index: 2;
		}
		img {
			position: relative;
			display: block;
			border-radius: 0.8rem;
			width: 9rem;
			height: 9rem;
			overflow: hidden;
			z-index: 2;
		}
		div {
			position: relative;
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			width: calc(100% - 10.5rem);
			height: 9rem;
			z-index: 2;
			.bus {
				height: 1.5rem;
				padding-top: 0.6rem;
				font-size: 0.9rem;
				font-weight: 400;
				line-height: 1;
			}
			h2 {
				padding-right: 2.5rem;
				font-size: 1.7rem;
				font-weight: 700;
				line-height: 1.3;
				span {
					font-size: 1.4rem;
				}
			}
			.site {
				display: flex;
				align-items: center;
				height: 2rem;
				padding-top: 0.8rem;
				font-size: 1rem;
				font-weight: 500;
				line-height: 1;
				color: var(--colorW);
				&:after {
					content: "";
					background: url(../img/icon-blank2-w.png) no-repeat center center / cover;
					width: 1.2rem;
					height: 1.2rem;
					margin-left: 0.6rem;
				}
			}
		}
	}
}










/* company */

.companyMenu {
	width: 100%;
	li {
		width: 100%;
		margin-top: 0.5rem;
		padding-bottom: 1rem;
		a {
			height: 6rem;
			font-size: 1.8rem;
			text-align: left;
			img {
				width: 3.5rem;
				margin-right: 1.5rem;
			}
			span {
				font-size: 1.6rem;
			}
			p {
				display: none;
			}
		}
		&:nth-of-type(-n+2) {
			a {
				height: 8rem;
				font-size: 2rem;
				img {
					width: 5rem;
				}
			}
		}
	}
}

.philosophyArea {
	width: 100%;
	.box {
		position: relative;
		border-radius: 1rem;
		background-color: var(--colorSub);
		width: 100%;
		margin-top: 1rem;
		padding: 1rem;
		z-index: 2;
		.top {
			font-size: 1.4rem;
			padding: 1.5rem 0;
			line-height: 1.5;
			text-align: center;
			h2 {
				margin-bottom: 1.2rem;
				font-size: 2.2rem;
				font-weight: 700;
				line-height: 1;
				letter-spacing: 0.1em;
				text-align: center;
			}
		}
		.btm {
			display: flex;
			justify-content: center;
			align-items: center;
			border-radius: 0.5rem;
			background-color: var(--colorW);
			padding: 2rem;
			p {
				text-align: center;
				font-size: 1.6rem;
				font-weight: 700;
				line-height: 1.6;
				letter-spacing: 0.08em;
				color: var(--colorMain);
			}
		}
		&:last-of-type {
			dl {
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				gap: 1rem 1.5rem;
				dt {
					display: flex;
					justify-content: center;
					align-items: center;
					border-radius: 5rem;
					background-color: #e9d7b7;
					width: 5rem;
					height: 5rem;
					font-size: 1.4rem;
					font-weight: 700;
					line-height: 1;
					letter-spacing: 0;
					color: var(--colorMain);
				}
				dd {
					width: calc(100% - 6.5rem);
					font-size: 1.4rem;
					font-weight: 500;
					line-height: 1.5;
					color: var(--colorMain);
				}
			}
		}
	}
}

.philosophyDeclaration {
	width: 100%;
	margin-top: 2rem;
	h3 {
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 1rem;
		background-color: var(--colorLink);
		width: 100%;
		margin-bottom: 1.2rem;
		padding: 1rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.5;
		text-align: center;
		color: var(--colorMain);
	}
	dl {
		width: 100%;
		dt {
			width: 100%;
			font-size: 1.6rem;
			font-weight: 700;
			color: var(--colorMain);
			&:nth-of-type(2) {
				border-top: 1px solid var(--colorBorder);
				margin-top: 1.2rem;
				padding-top: 1.2rem;
			}
		}
		dd {
			width: 100%;
			&:nth-of-type(2) {
				border-bottom: 1px solid var(--colorBorder);
				margin-bottom: 1.2rem;
				padding-bottom: 1.2rem;
			}
		}
	}
}

.emList {
	margin-top: 1rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.8;
	li {
		position: relative;
		padding-left: 1em;
		&:before {
			content: "\30FB";
			position: absolute;
			top: 0;
			left: 0;
		}
	}
}

.president {
	margin-top: 3rem;
	.day {
		font-size: 1.1rem;
		text-align: right;
	}
	.name {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 2rem;
		margin-top: 1.2rem;
		font-size: 1.4rem;
		font-weight: 700;
		img {
			width: 14rem;
		}
	}
}

.outlineArea {
	position: relative;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 2.4rem;
	padding-right: 2.4rem;
	z-index: 1;
	dl {
		width: 100%;
		border-top: 1px solid var(--colorBorder);
		dt {
			padding: 1.5rem 0 0 0;
			font-size: 1.4rem;
			font-weight: 500;
			color: var(--colorMain);
		}
		dd {
			border-bottom: 1px solid var(--colorBorder);
			padding: 0.6rem 0 1.5rem 0;
			font-size: 1.5rem;
			line-height: 1.6;
		}
	}
	.outlineData {
		width: 100%;
		margin-top: 4rem;
		.list {
			width: 100%;
			margin-top: 1.5rem;
			li {
				margin-bottom: 0.4rem;
			}
			a {
				position: relative;
				display: inline-flex;
				align-items: center;
				padding-left: 2.2rem;
				font-size: 1.4rem;
				&:before {
					content: "";
					position: absolute;
					top: 0.35em;
					left: 0;
					display: block;
					background: url(../img/ar2-b.png) no-repeat center center / 1.4rem;
					width: 1.4rem;
					height: 1.4rem;
				}
			}
		}
	}
}

.approachImg {
	position: relative;
	width: 100%;
	margin-top: 1rem;
	img {
		position: relative;
		z-index: 1;
	}
	p {
		position: absolute;
		right: 0;
		bottom: 3rem;
		z-index: 2;
		&.btnStyle2 {
			a {
				font-size: 1.4rem;
				padding: 1.5rem 4rem 1.5rem 1.5rem;
			}
		}
	}
}

.halfColumn {
	.box {
		margin-top: 2.5rem;
	}
}

.healthDeclaration {
	border: 1px solid #000;
	border-radius: 1rem;
	background-color: #fff;
	width: 100%;
	margin: 5rem auto;
	padding: 3.5rem 2rem;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.05em;
	h2 {
		margin-bottom: 2rem;
		font-size: 2.4rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		line-height: 1;
		text-align: center;
	}
	p {
		margin-top: 2rem;
	}
	.name {
		margin-top: 2rem;
		font-size: 1.2rem;
		line-height: 1.7;
		letter-spacing: 0;
		text-align: right;
		strong {
			font-size: 1.8rem;
		}
	}
}

.healthCertificate {
	margin: 5rem 0;
	div {
		width: 100%;
		margin-top: 3rem;
	}
	h3 {
		margin-bottom: 1.5rem;
		font-size: 1.8rem;
		font-weight: 700;
		line-height: 1.5;
		text-align: center;
	}
	img {
		display: block;
		width: auto;
		height: 28rem;
		margin: 0 auto;
	}
}

.ecoEv {
	width: 100%;
	dl {
		width: 100%;
		margin: 2rem 0;
		font-size: 1.4rem;
		line-height: 1.6;
		dt {
			font-weight: 700;
			white-space: nowrap;
		}
	}
	.imgBox {
		width: 60%;
		margin: 1.5rem auto 0 auto;

	}
}

.ecoPoint {
	border-radius: 1rem;
	background-color: var(--colorLink);
	width: 100%;
	margin: 2rem 0;
	padding: 2rem;
	color: var(--colorMain);
	.read {
		width: 100%;
	}
	h4 {
		background: url(../img/icon-check2.png) no-repeat left top / 1.8rem;
		margin-bottom: 1rem;
		padding-left: 3rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.4;
	}
	.btnStyle2 {
		margin-top: 1.5rem;
		a {
			background-color: #fff;
			padding: 1.5rem 4rem 1.5rem 2rem;
			font-size: 1.4rem;
		}
	}
	.image {
		position: relative;
		margin-top: 1.5rem;
	}
	.green {
		position: relative;
		width: 60%;
		margin: 1.5rem auto 0 auto;
	}
}

.ecoLink {
	border: 2px solid var(--colorLink);
	border-radius: 0.5rem;
	background-color: var(--colorLink);
	width: 100%;
	margin: 7rem 0 5rem 0;
	dt {
		padding: 1.5rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1;
		text-align: center;
	}
	dd {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 1rem 2rem;
		width: 100%;
		padding: 2rem 1.5rem;
		background-color: #fff;
		text-align: center;
		a {
			text-decoration: none;
			color: #000;
		}
	}
}










/* news */

.newsHead {
	margin: 4rem 0 2rem 0;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
}

.newsList {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	dt {
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 0.3rem;
		background-color: var(--colorMain);
		width: 12rem;
		height: 2.4rem;
		margin-right: 1.2rem;
		font-size: 1.3rem;
		font-weight: 700;
		line-height: 1;
		color: var(--colorW);
		&.day {
			background-color: inherit;
			width: auto;
			height: auto;
			font-size: 1.4rem;
			font-weight: 500;
			letter-spacing: 0.05em;
			text-align: center;
			color: var(--colorMain);
		}
	}
	.day {
		font-size: 1.4rem;
		font-weight: 500;
		letter-spacing: 0.05em;
		text-align: center;
		color: var(--colorMain);
	}
	.title {
		border-bottom: 1px solid #88a3ce;
		width: 100%;
		margin: 1rem 0 1.8rem 0;
		padding-bottom: 1.8rem;
		font-size: 1.4rem;
		line-height: 1.7;
		&:last-child {
			margin-bottom: 0;
		}
		a {
			display: inline-flex;
			align-items: center;
			&[target="_blank"] {
				&:after {
					content: "";
					display: block;
					background: url(../img/icon-blank2-b.png) no-repeat center center / 1.5rem;
					width: 1.5rem;
					height: 1.5rem;
					margin-left: 0.8rem;
					flex-shrink: 0;
				}
			}
			&[href$=".pdf"] {
				&:after {
					content: "";
					display: block;
					background: url(../img/icon-pdf.png) no-repeat center center / 1.4rem;
					width: 1.4rem;
					height: 1.4rem;
					margin-left: 0.8rem;
					flex-shrink: 0;
				}
			}
		}
	}
}

.pagerArea {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1.5rem;
	margin-top: 4rem;
	ul {
		display: flex;
		justify-content: center;
		align-items: center;
		order: 1;
		gap: 0.2rem;
		width: 100%;
		li {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 3.6rem;
			height: 3.6rem;
			font-family: 'Noto Sans JP';
			font-size: 2.4rem;
			font-weight: 700;
			color: var(--colorMain);
			a {
				display: flex;
				justify-content: center;
				align-items: center;
				border: 1px solid var(--colorMain);
				border-radius: 0.5rem;
				background-color: var(--colorW);
				width: 3.6rem;
				height: 3.6rem;
				font-size: 1.4rem;
				font-weight: 700;
				line-height: 1;
				text-align: center;
				text-decoration: none;
				color: var(--colorB);
			}
			&.active {
				a {
					background-color: var(--colorMain);
					color: var(--colorW);
				}
			}
		}
	}
	p {
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1;
		a {
			display: flex;
			align-items: center;
		}
		&.prev {
			order: 2;
			a:before {
				content: "";
				display: block;
				background: url(../img/ar-b.png) no-repeat center center / 0.8rem 1.4rem;
				width: 0.8rem;
				height: 1.4rem;
				margin-right: 0.8rem;
				transform: rotate(180deg);
			}
		}
		&.next {
			order: 3;
			a:after {
				content: "";
				display: block;
				background: url(../img/ar-b.png) no-repeat center center / 0.8rem 1.4rem;
				width: 0.8rem;
				height: 1.4rem;
				margin-left: 0.8rem;
			}
		}
	}
}

.pageNext, .pagePrev {
	margin-top: 3rem;
	text-align: center;
	a, button {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		border: 2px solid var(--colorMain);
		border-radius: 1rem;
		background-color: var(--colorW);
		width: 100%;
		min-height: 5rem;
		padding: 1rem 1.5rem;
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 1.3;
		text-decoration: none;
		color: var(--colorMain);
		span {
			font-size: 1.2rem;
			font-weight: 400;
		}
		&[href$=".pdf"] {
			&:before {
				content: "";
				display: block;
				background: url(../img/icon-pdf.png) no-repeat center center / 1.4rem;
				width: 1.4rem;
				height: 1.4rem;
				margin-right: 0.8rem;
				flex-shrink: 0;
				transition: 0.2s ease;
			}
		}
	}
}
.pageNext {
	a, button {
		&:after {
			content: "";
			display: block;
			background: url(../img/ar-b.png) no-repeat center center / 0.8rem 1.2rem;
			width: 0.8rem;
			height: 1.2rem;
			margin-left: 1rem;
			flex-shrink: 0;
		}
	}
}
.pagePrev {
	a {
		&:before {
			content: "";
			display: block;
			background: url(../img/ar-b.png) no-repeat center center / 0.8rem 1.2rem;
			width: 0.8rem;
			height: 1.2rem;
			margin-right: 1rem;
			flex-shrink: 0;
			transform: rotate(180deg);
		}
	}
}

.newsContents {
	position: relative;
	max-width: 74rem;
	margin: 0 auto;
	.days {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 1rem;
		dt {
			display: flex;
			justify-content: center;
			align-items: center;
			background-color: var(--colorMain);
			width: 12rem;
			height: 2.4rem;
			margin-right: calc(100% - 12rem);
			font-size: 1.3rem;
			font-weight: 700;
			line-height: 1;
			color: var(--colorW);
			border-radius: 0.3rem;
		}
		dd {
			font-size: 1.4rem;
			font-weight: 500;
			letter-spacing: 0.05em;
			line-height: 1;
			color: var(--colorMain);
		}
		&.blog {
			dt {
				width: 15rem;
				margin-right: calc(100% - 15rem);
				font-size: 1.3rem;
			}
		}
	}
	h1 {
		margin: 1.5rem 0 2rem 0;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.5;
		& + figure {
			margin: 2rem 0;
		}
	}
}










/* blog */

.blogTitle {
	position: relative;
	background: linear-gradient(to bottom,  #d0f3ff 0%,#ffffff 80%);
	width: 100%;
	margin: -4rem 0 4rem 0;
	padding: 3.5rem 2.4rem 0 2.4rem;
	line-height: 1.6;
	h1 {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		margin-bottom: 1.5rem;
		font-family: var(--font2);
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1.2;
		letter-spacing: 0;
		color: var(--colorMain);
		z-index: 2;
		img {
			width: 5rem;
			margin-right: 1.5rem;
			flex-shrink: 0;
		}
	}
	p {
		position: relative;
		z-index: 2;
	}
	&:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		background: url(../img/blog/blog-title-bg.png) no-repeat center top / 60rem;
		width: 100%;
		height: 100%;
		z-index: 1;
	}
}

.blogArea {
	position: relative;
	width: 100%;
	padding-left: 2.4rem;
	padding-right: 2.4rem;
	z-index: 1;
}

.blogList {
	width: 100%;
	a {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		border-bottom: 1px solid var(--colorBorder);
		width: 100%;
		margin-bottom: 2rem;
		padding-bottom: 2rem;
		font-size: 1.2rem;
		text-decoration: none;
		font-weight: 400;
		.imgBox {
			border-radius: 0;
			width: 11.5rem;
			height: 8.65rem;
			padding: 0;
		}
		.read {
			width: calc(100% - 13rem);
			dl {
				display: flex;
				align-items: center;
				gap: 0.5rem;
				margin-bottom: 1rem;
				dt {
					display: flex;
					justify-content: center;
					align-items: center;
					border-radius: 0.3rem;
					background-color: var(--colorMain);
					width: 13rem;
					height: 2.4rem;
					font-size: 1.2rem;
					font-weight: 700;
					line-height: 1;
					color: var(--colorW);
				}
				dd {
					font-size: 1.2rem;
					font-weight: 500;
					letter-spacing: 0.05em;
					line-height: 1;
					letter-spacing: 0;
					color: var(--colorMain);
				}
			}
			h2 {
				font-size: 1.4rem;
				font-weight: 500;
				line-height: 1.7;
				color: var(--colorB);
			}
			p {
				margin-top: 1rem;
			}
		}
	}
	&.first-info {
		a {
			display: block;
			width: 100%;
			.imgBox {
				width: 100%;
				padding-top: 56.25%;
			}
			dl {
				gap: 1rem;
			}
			.read {
				width: 100%;
				margin-top: 1.5rem;
			}
		}
	}
}

.blogCategory {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	width: 100%;
	margin: 4rem 0;
	dt {
		width: 100%;
		margin-bottom: 1rem;
		font-style: var(--font2);
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1;
	}
	dd {
		width: calc(50% - 0.3rem);
	}
	a {
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 0.5rem;
		background-color: var(--colorLink);
		width: 100%;
		height: 5rem;
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 1.2;
		text-align: center;
		text-decoration: none;
		color: var(--colorB);
	}
}










/* faq */

.faqMenu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 3rem 0;
	li {
		width: calc(50% - 0.25rem);
		a {
			display: flex;
			justify-content: center;
			align-items: center;
			border-radius: 0.5rem;
			background-color: var(--colorLink);
			width: 100%;
			height: 4rem;
			font-size: 1.4rem;
			font-weight: 700;
			line-height: 1;
			text-decoration: none;
			text-align: center;
		}
	}
}
.faqArea {
	border-top: 1px solid var(--colorBorder);
	border-bottom: 1px solid var(--colorBorder);
	h3 {
		position: relative;
		display: flex;
		align-items: center;
		background-color: var(--colorW);
		width: 100%;
		min-height: 5.5rem;
		padding: 1.4rem 4rem 1.4rem 4.5rem;
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.5;
		cursor: pointer;
		&:before {
			content: "Q";
			position: absolute;
			top: 50%;
			left: 1rem;
			display: block;
			width: 2.4rem;
			height: 2.4rem;
			margin-top: -1.5rem;
			font-family: var(--font2);
			font-size: 2.4rem;
			font-weight: 700;
			line-height: 1;
			text-align: center;
			color: var(--colorMain);
		}
		&:after {
			content: "";
			position: absolute;
			top: 50%;
			right: 1rem;
			display: block;
			background: url(../img/icon-open-b.png) no-repeat center center / 2rem;
			width: 2rem;
			height: 2rem;
			margin-top: -1rem;
		}
		&.active {
			background-color: var(--colorLink);
			&:after {
				background-image: url(../img/icon-close-b.png);
			}
		}
	}
	.txtArea {
		display: none;
		position: relative;
		padding: 1.5rem 0 2rem 4.5rem;
		font-size: 1.4rem;
		&:before {
			content: "A";
			position: absolute;
			top: 2rem;
			left: 1rem;
			display: block;
			width: 2.4rem;
			height: 2.4rem;
			font-family: var(--font2);
			font-size: 2.4rem;
			font-weight: 700;
			line-height: 1;
			text-align: center;
			color: var(--colorMain2);
		}
	}
	& + .faqArea {
		border-top: none;
	}
}










/* Parking */

.parkingMail {
	width: 100%;
	margin-top: 2rem;
	.read {
		width: 100%;
	}
}

.mailCounter {
	margin-top: 1.5rem;
	width: 100%;
	p {
		margin: 0;
	}
	strong {
		font-size: 1.7rem;
	}
	.pageNext {
		margin-top: 1.2rem;
		a {
			width: 100%;
			&:before {
				content: "";
				display: block;
				background: url(../img/icon-mail-b.png) no-repeat center center / 2.6rem;
				width: 2.6rem;
				height: 2rem;
				margin-right: 1rem;
				transition: 0.2s ease;
			}
			&:hover {
				&:before {
					background-image: url(../img/icon-mail-w.png);
				}
			}
		}
	}
}

.parkingOverview {
	width: 100%;
	margin-top: 2rem;
	.read {
		width: 100%;
	}
	.image {
		width: 100%;
		margin-top: 2rem;
	}
	table {
		margin: 0;
		tbody {
			width: 100%;
		}
		&:before {
			display: none;
		}
	}
}

.parkingPay {
	width: 100%;
	margin-top: 2rem;
	.read {
		width: 100%;
		margin-top: 2rem;
	}
	h4 {
		font-size: 1.6rem;
		margin: 3rem 0 1.2rem 0;
	}
	table {
		margin: 0;
		tbody {
			width: 100%;
		}
		&:before {
			display: none;
		}
	}
}










/* Goods */

.goodsTop {
	width: 100%;
	.read {
		width: 100%;
		.pageNext {
			width: 100%;
			margin-top: 1.5rem;
		}
	}
	.image {
		border-radius: 1rem;
		width: 100%;
		margin-top: 2rem;
		overflow: hidden;
	}
}

.goodsList {
	width: 100%;
	.box {
		width: 100%;
		margin-top: 2.5rem;
		img {
			display: block;
			border-radius: 1rem;
			overflow: hidden;
			margin-bottom: 1.2rem;
		}
		h3 {
			margin-bottom: 0.8rem;
			font-size: 1.6rem;
			font-weight: 700;
			letter-spacing: 0.05em;
		}
		.pageNext {
			width: 100%;
			margin-top: 1.5rem;
		}
	}
}

.goodsCounter {
	li {
		width: 100%;
		margin-top: 1.5rem;
		img {
			display: block;
			border-radius: 1rem;
			overflow: hidden;
			margin-bottom: 1rem;
		}
		div {
			text-indent: -1em;
			padding-left: 1em;
		}
	}
}

.bnrList {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	width: 100%;
	margin: 2rem 0;
	li {
		width: calc(calc(100% - 1rem) / 2);
	}
}

.dlcList {
	width: 100%;
	margin: 1rem 0 3rem 0;
	&:first-child {
		margin-top: 0;
	}
	&:last-child {
		margin-bottom: 0;
	}
	li {
		position: relative;
		border: 1px solid var(--colorMain);
		border-radius: 1rem;
		background-color: var(--colorW);
		width: 100%;
		margin-top: 1rem;
		overflow: hidden;
		a {
			position: relative;
			display: block;
			width: 100%;
			&:after {
				content: "ダウンロード";
				position: absolute;
				bottom: 1rem;
				right: 1rem;
				display: flex;
				justify-content: center;
				align-items: center;
				border: 1px solid var(--colorMain);
				border-radius: 2.5rem;
				background: var(--colorW) url(../img/icon-dl-b.png) no-repeat 1.3rem center / 1.2rem;
				width: 10.5rem;
				height: 2.5rem;
				padding-left: 1.8rem;
				font-size: 1rem;
				font-weight: 500;
				line-height: 1;
				text-decoration: none;
				color: var(--colorMain);
				z-index: 2;
				transition: 0.2s ease;
			}
		}
	}
}

.captureEtc {
	border-radius: 1rem;
	border: 2px solid var(--colorLink);
	border-radius: 1rem;
	width: 100%;
	background-color: var(--colorW);
	margin-top: 3rem;
	dt {
		width: 100%;
		background-color: var(--colorLink);
		padding: 1rem 2rem;
		font-size: 1.6rem;
		font-weight: 700;
	}
	dd {
		width: 100%;
		padding: 2rem;
		p {
			margin: 1rem 0;
			&:first-child {
				margin-top: 0;
			}
			&:last-child {
				margin-bottom: 0;
			}
		}
		span {
			font-size: 1.2rem;
		}
	}
	ol {
		counter-reset: nurie;
		> li {
			position: relative;
			margin-bottom: 1rem;
			padding-left: 1.5em;
			font-weight: 700;
			&:before {
				counter-increment: nurie;
				content: counter(nurie)". ";
				position: absolute;
				top: 0;
				left: 0;
				color: var(--colorMain);
			}
		}
	}
	ul {
		> li {
			position: relative;
			padding-left: 1em;
			font-weight: 400;
			&:before {
				content: "・";
				position: absolute;
				top: 0;
				left: 0;
			}
		}
	}
}










/* Bus ad */

.busAd {
	width: 100%;
	.read {
		width: 100%;
	}
	.image {
		border-radius: 1rem;
		width: 100%;
		margin-top: 2rem;
		overflow: hidden;
	}
}

.adArea {
	border-bottom: 1px solid var(--colorBorder);
	h4 {
		border-top: 1px solid var(--colorBorder);
		position: relative;
		display: flex;
		align-items: center;
		background-color: var(--colorW);
		width: 100%;
		min-height: 6rem;
		padding: 1.2rem 4rem 1.2rem 1rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.3;
		cursor: pointer;
		&:after {
			content: "";
			position: absolute;
			top: 50%;
			right: 1rem;
			display: block;
			background: url(../img/icon-open-b.png) no-repeat center center / 2rem;
			width: 2rem;
			height: 2rem;
			margin-top: -1rem;
		}
		&.active {
			background-color: var(--colorLink);
			&:after {
				background-image: url(../img/icon-close-b.png);
			}
		}
	}
	.adData {
		display: none;
		border-top: 1px solid var(--colorBorder);
		width: 100%;
		padding: 2.5rem 0;
		.adInner {
			width: 100%;
			.read {
				width: 100%;
			}
			.image {
				width: 100%;
				margin-top: 2rem;
			}
			img {
				width: auto;
				max-width: 100%;
			}
			h5 {
				margin: 2rem 0 1.2rem;
				font-size: 1.6rem;
				line-height: 1.4;
				&:first-child {
					margin-top: 0;
				}
			}
			p, ul, ol {
				margin: 1rem 0;
				&:last-child {
					margin-bottom: 0;
				}
			}
		}
	}
}

.adLink {
	width: 100%;
	margin: 4rem 0 0 0;
	li {
		width: 100%;
		margin-top: 1rem;
		a {
			position: relative;
			display: flex;
			align-items: center;
			gap: 1rem;
			border-radius: 1rem;
			background-color: var(--colorLink);
			width: 100%;
			padding: 1.6rem 4rem 1.6rem 2rem;
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1.4;
			text-decoration: none;
			img {
				display: block;
				border-radius: 5rem;
				width: 5rem;
				height: 5rem;
				overflow: hidden;
				flex-shrink: 0;
			}
			em {
				display: block;
				margin-bottom: 0.5rem;
				font-size: 1.2rem;
				font-weight: 700;
				line-height: 1.4;
			}
			&:after {
				content: "";
				position: absolute;
				top: 50%;
				right: 2rem;
				display: block;
				background: url(../img/ar-b.png) no-repeat center center / 0.9rem 1.4rem;
				width: 0.9rem;
				height: 1.4rem;
				margin-top: -0.7rem;
				flex-shrink: 0;
				transition: 0.2s ease;
			}
		}
	}
}

.adNote {
	h4 {
		margin: 2rem 0 1rem 0;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.4;
		&:first-child {
			margin-top: 0;
		}
	}
	p {
		margin: 1rem 0;
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
	}
	ol {
		counter-reset: ad;
		margin: 1.5rem 0;
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
		li {
			position: relative;
			padding-left: 1.5rem;
			&:before {
				counter-increment: ad;
				content: counter(ad)".";
				position: absolute;
				top: 0;
				left: 0;
				color: var(--colorMain);
			}
		}
	}
}










/* Character */

.characterTitle {
	position: relative;
	background: linear-gradient(to bottom,  #d0f3ff 0%,#ffffff 80%);
	width: 100%;
	margin: -4rem 0 4rem 0;
	padding: 2rem 2.4rem 0 2.4rem;
	line-height: 1.6;
	.titleArea {
		width: 80%;
		margin: 0 auto;
		div {
			width: 100%;
		}
		h1 {
			width: 100%;
			margin: 1.5rem 0 0 0;
			padding: 0 1rem;
			img {
				width: 100%;
			}
		}
	}
	&:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		background: url(../img/character/character-title-bg.png) no-repeat center top / 60rem;
		width: 100%;
		height: 100%;
		z-index: 1;
	}
}

.characterData {
	width: 100%;
	.character1, .character2 {
		width: 100%;
		margin-top: 4rem;
		.chara {
			width: 100%;
			display: flex;
			justify-content: space-between;
			align-items: center;
			.data {
				width: 46%;
				font-size: 1.1rem;
				line-height: 1.6;
				color: #2069d6;
				h2 {
					width: 100%;
					border-radius: 6rem;
					background-color: #2069d6;
					margin-bottom: 1rem;
					padding: 1rem 0;
					font-family: var(--font2);
					font-size: 2rem;
					font-weight: 700;
					line-height: 1;
					text-align: center;
					color: var(--colorW);
				}
			}
			.image {
				width: 50%;
			}
		}
		.comment {
			position: relative;
			border: 3px solid #2069d6;
			border-radius: 2rem;
			background-color: var(--colorW);
			margin: 1.5rem 0 0 0;
			padding: 2rem;
			font-size: 1.4rem;
			font-weight: 500;
			line-height: 1.6;
			strong {
				display: block;
				margin-bottom: 0.8rem;
				font-family: var(--font2);
				font-size: 1.6rem;
				font-weight: 700;
				line-height: 1.4;
				color: #2069d6;
			}
			&:before {
				content: "";
				position: absolute;
				top: -2.8rem;
				right: 7.5rem;
				display: block;
				clip-path: polygon(0 0, 10% 0, 100% 100%, 0% 100%);
				background-color: #2069d6;
				width: 2rem;
				height: 2.8rem;
				z-index: 2;
			}
			&:after {
				content: "";
				position: absolute;
				top: -2.1rem;
				right: 7.2rem;
				display: block;
				clip-path: polygon(0 0, 0% 100%, 100% 100%);
				background-color: #fff;
				width: 2rem;
				height: 3.2rem;
				z-index: 3;
			}
		}
	}
	.character2 {
		.chara {
			.data {
				color: #f65fa9;
				h2 {
					background-color: #f65fa9;
				}
			}
		}
		.comment {
			border: 3px solid #f65fa9;
			strong {
				color: #f65fa9;
			}
			&:before {
				background-color: #f65fa9;
			}
		}
	}
}

.nurieTitle {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 6rem 0 1.5rem 0;
	font-size: 1.4rem;
	font-weight: 500;
	span {
		display: flex;
		justify-content: center;
		align-items: center;
		clip-path: polygon(0 0, 100% 0, 94% 50%, 100% 100%, 0 100%);
		background-color: var(--colorMain2);
		width: 11rem;
		height: 4rem;
		font-family: var(--font2);
		font-size: 2rem;
		font-weight: 700;
		line-height: 1;
		color: var(--colorW);
	}
}










/* Feedback */

.feedbackMenu {
	width: 100%;
	li {
		width: 100%;
		margin-top: 1rem;
		a {
			position: relative;
			display: flex;
			align-items: center;
			gap: 1rem;
			border-radius: 1rem;
			background-color: var(--colorLink);
			width: 100%;
			padding: 1.6rem 4rem 1.6rem 2rem;
			font-size: 1.3rem;
			font-weight: 400;
			line-height: 1.7;
			text-decoration: none;
			img {
				display: block;
				border-radius: 5rem;
				width: 5rem;
				height: 5rem;
				overflow: hidden;
				flex-shrink: 0;
			}
			strong {
				display: block;
				margin-bottom: 0.3rem;
				font-size: 1.6rem;
				font-weight: 700;
				line-height: 1.4;
				letter-spacing: 0.05em;
			}
			&:after {
				content: "";
				position: absolute;
				top: 50%;
				right: 2rem;
				display: block;
				background: url(../img/ar-b.png) no-repeat center center / 0.9rem 1.4rem;
				width: 0.9rem;
				height: 1.4rem;
				margin-top: -0.7rem;
				flex-shrink: 0;
				transition: 0.2s ease;
			}
			&[target="_blank"] {
				background-color: #eaccdb;
				&:after {
					background-image: url(../img/ar-r.png);
				}
			}
		}
	}
}

.feedbackForm {
	width: 100%;
	margin: 3rem 0;
	.required {
		color: var(--colorRed);
		font-weight: 700;
	}
	dt {
		width: 100%;
		margin-bottom: 0.5rem;
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.6;
		span {
			width: 100%;
			margin-left: 1em;
			font-size: 1.2rem;
			font-weight: 400;
		}
		&.tl, &.tr {
			text-align: left !important;
		}
	}
	dd {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		width: 100%;
		margin-bottom: 2rem;
		font-size: 1.4rem;
		line-height: 1.6;
		p, span {
			display: block;
			width: 100%;
			margin-top: 0.6rem;
			font-size: 1.2rem;
			font-weight: 400;
		}
		.name {
			display: flex;
			justify-content: space-between;
			align-items: center;
			width: 45%;
			margin-right: 5%;
			font-size: 1.4rem;
			font-weight: 500;
			line-height: 1.6;
			input {
				width: 11rem;
			}
		}
	}
	input[type="text"], input[type="url"], input[type="tel"], input[type="email"], select, textarea {
		border: 1px solid var(--colorBorder);
		border-radius: 0.5rem;
		background-color: var(--colorW);
		width: 100%;
		height: 3.5rem;
		padding: 0.5rem 1rem;
		vertical-align: middle;
		&:focus {
			background-color: var(--colorSub);
		}
	}
	select {
		background: var(--colorW) url(../img/ar-select.png) no-repeat calc(100% - 1rem) center / 1.2rem;
		padding-right: 3rem;
		width: 16rem;
	}
	textarea {
		height: 20rem;
	}
	label {
		margin-right: 3rem;
		input[type="radio"] {
			display: none;
			& + span {
				position: relative;
				display: inline-flex;
				align-items: center;
				vertical-align: middle;
				gap: 1rem;
				font-size: 1.4rem;
				font-weight: 500;
				&:before {
					content: "";
					display: block;
					border-radius: 2.1rem;
					border: 1px solid var(--colorMain);
					background: var(--colorW);
					width: 2.1rem;
					height: 2.1rem;
					box-shadow: inset 0 0 0 0.4rem var(--colorW);
				}
			}
			&:checked {
				& + span {
					&:before {
						background-color: var(--colorMain);
					}
				}
			}
		}
		input[type="checkbox"] {
			display: none;
			& + span {
				position: relative;
				display: inline-flex;
				align-items: center;
				vertical-align: middle;
				gap: 1rem;
				font-size: 1.6rem;
				font-weight: 500;
				&:before {
					content: "";
					display: block;
					border: 1px solid var(--colorMain);
					background: var(--colorW);
					width: 2.1rem;
					height: 2.1rem;
					box-shadow: inset 0 0 0 0.4rem var(--colorW);
				}
			}
			&:checked {
				& + span {
					&:before {
						background-color: var(--colorMain);
					}
				}
			}
		}
		cursor: pointer;
	}
}
p:has(+ .feedbackForm) {
	font-size: 1.6rem;
	font-weight: 700;
	.required {
		color: var(--colorRed);
		font-weight: 700;
	}
}











/* Sitemap */

.sitemapArea {
	width: 100%;
	margin-top: 4rem;
	.logo {
		width: 21.2rem;
	}
	.sitemapLink {
		width: 100%;
		margin-top: 0.5rem;
		.top {
			border-bottom: 1px solid var(--colorBorder);
			margin-bottom: 1rem;
			a {
				display: flex;
				align-items: center;
				height: 4rem;
				font-size: 1.6rem;
				font-weight: 700;
				line-height: 1;
				text-decoration: none;
				color: var(--colorB);
				&:after {
					content: "";
					display: block;
					background: url(../img/ar-b.png) no-repeat center center / 0.8rem 1.2rem;
					width: 0.8rem;
					height: 1.2rem;
					margin-left: 1rem;
				}
			}
		}
		.linkArea {
			.linkList {
				display: block;
				margin: 0;
				li {
					width: 100%;
					margin-top: 1.6rem;
					a {
						font-weight: 700;
					}
					.subList {
						padding-left: 2rem;
						li {
							margin-top: 0.6rem;
							a {
								padding: 0;
								font-size: 1.4rem;
								font-weight: 500;
								&:before {
									display: none;
								}
							}
							li {
								padding-left: 1em;
							}
						}
					}
				}
			}
		}
	}
}





/* 404 */

.page404 {
	background: #e1e7f3 url(../img/page-404.png) no-repeat 104% 9rem / 10rem;
	padding: 5rem 0 0 0;
	text-align: center;
	h1 {
		margin-bottom: 2.5rem;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.5;
		span {
			display: block;
			margin-top: 1rem;
			font-size: 1.6rem;
		}
	}
	.btn404 {
		margin-top: 4rem;
		li {
			margin-top: 1rem;
			padding: 0 10%;
		}
		a {
			position: relative;
			display: flex;
			align-items: center;
			border: 2px solid var(--colorMain);
			border-radius: 1rem;
			background-color: var(--colorW);
			width: 100%;
			height: 5rem;
			padding: 1rem 2rem;
			font-size: 1.4rem;
			font-weight: 700;
			line-height: 1.2;
			text-decoration: none;
			color: var(--colorMain);
			&:after {
				content: "";
				position: absolute;
				top: 50%;
				right: 2rem;
				display: block;
				background: url(../img/ar-b.png) no-repeat center center / 1rem 1.6rem;
				width: 1rem;
				height: 1.6rem;
				margin-top: -0.8rem;
				transition: 0.2s ease;
			}
			&[target="_blank"] {
				&:after {
					background: url(../img/icon-blank2-b.png) no-repeat center center / 1.6rem;
					width: 1.8rem;
					height: 1.8rem;
					margin-top: -0.9rem;
				}
			}
		}
	}
	& + .pageFooter {
		background-image: url(../img/page-fotter-404.png);
		&:after {
			background-image: url(../img/page-fotter-bus-404.png);
		}
	}
}