@charset "UTF-8";




/* CSS STYLE */

body {
	padding-top: 12.5rem;
	&.statusClose {
		padding-top: 7.5rem;
	}
}

a:hover, button:hover {
	font-weight: 700;
	text-decoration: underline;
	color: var(--colorMain);
}










/* SITEPARTS */

.otherPage {
	padding: 10rem 0 6rem 0;
}

.inner {
	position: relative;
	width: 100%;
	max-width: 120rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	z-index: 1;
}
.innerMid {
	position: relative;
	width: 100%;
	max-width: 114rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5rem;
	padding-right: 5rem;
	z-index: 1;
}
.innerMin {
	position: relative;
	width: 100%;
	max-width: 110rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5rem;
	padding-right: 5rem;
	z-index: 1;
}
.innerSml {
	position: relative;
	width: 100%;
	max-width: 104rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5rem;
	padding-right: 5rem;
	z-index: 1;
}
.innerTin {
	position: relative;
	width: 100%;
	max-width: 94rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5rem;
	padding-right: 5rem;
	z-index: 1;
}
.subInner {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.pageHeader {
	display: flex;
	align-items: center;
	margin-bottom: 6rem;
	font-family: var(--font2);
	font-size: 3.8rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--colorMain);
	img {
		width: 7.6rem;
		margin-right: 2.6rem;
		flex-shrink: 0;
	}
	span {
		display: block;
		width: calc(100% - 10.2rem);
	}
	&:has(+ p) {
		margin-bottom: 3rem;
	}
	& + p {
		margin-bottom: 6rem;
	}
}

.headStyle1 {
	position: relative;
	border-radius: 1rem;
	background-color: var(--colorMain);
	width: 100%;
	margin: 8rem 0 3.5rem 0;
	padding: 1.7rem 3rem;
	font-family: var(--font2);
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--colorW);
	sub {
		top: -0.25em;
	}
	span {
		margin-left: 2rem;
		font-family: var(--font1);
		font-size: 1.5rem;
		font-weight: 400;
	}
}
.headStyle2 {
	position: relative;
	margin: 8rem 0 3rem 0;
	padding-left: 2rem;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.06em;
	&:before {
		content: "";
		position: absolute;
		top: 0.2rem;
		left: 0;
		display: block;
		border-left: 5px solid var(--colorMain);
		height: 1.2em;
	}
	&:first-child {
		margin-top: 0;
	}
	span {
		font-size: 2rem;
	}
}
.headStyle3 {
	position: relative;
	margin: 3.5rem 0 2rem 0;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.05em;
	&:first-child {
		margin-top: 0;
	}
}
.headStyle4 {
	position: relative;
	margin: 3rem 0 1.5rem 0;
	font-size: 1.8rem;
	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: 3px solid var(--colorMain);
		border-radius: 1.5rem;
		background-color: var(--colorW);
		padding: 1.4rem 1.5rem 1.6rem 1.5rem;
		box-shadow: inset -0.6rem -0.6rem 0 rgba(29, 80, 162, 0.2), 0 1rem 0 var(--colorMain);
		font-family: var(--font2);
		font-size: 1.8rem;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0.05em;
		text-align: center;
		text-decoration: none !important;
		color: var(--colorMain) !important;
		transition: 0.2s linear;
		&:hover {
			background-color: #d2dcec;
			transform: translate(0, 1rem);
			box-shadow: inset -0.6rem -0.6rem 0 rgba(29, 80, 162, 0.2), 0 0 0 var(--colorMain);
		}
		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 4rem 1rem 3rem;
		width: 100%;
		min-height: 6rem;
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.5;
		text-decoration: none;
		color: var(--colorB);
		&:after {
			content: "";
			position: absolute;
			top: 50%;
			right: 2.8rem;
			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;
		}
		&:hover {
			background-color: var(--colorMain);
			color: var(--colorW);
			&:after {
				content: "";
				position: absolute;
				top: 50%;
				right: 1.8rem;
				display: block;
				background-image: url(../img/ar-w.png);
				width: 1rem;
				height: 1.6rem;
				margin-top: -0.8rem;
			}
		}
	}
}

.linkArrow {
	a {
		display: inline-flex;
		align-items: center;
		&:after {
			content: "";
			display: block;
			background: url(../img/ar2-b.png) no-repeat center center / 1.6rem;
			width: 1.6rem;
			height: 1.6rem;
			margin-left: 0.5rem;
			transition: 0.2s ease;
		}
		&:hover {
			font-weight: 700;
			&:after  {
				transform: scale(1.2,1.2);
			}
		}
	}
}

.linkRev {
	a {
		text-decoration: underline;
		color: var(--colorMain);
		&:hover {
			text-decoration: none;
			color: var(--colorB);
		}
	}
}

a.map {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	border-radius: 3rem;
	border: 1px solid var(--colorMain);
	background-color: #fff;
	width: 13rem;
	height: 3rem;
	font-size: 1.2rem;
	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.5rem;
		height: 1.5rem;
		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;
		}
	}
}
.imgBox a:hover img,
a:hover .imgBox img {
	transform: scale(1.05,1.05);
}

.tableStyle {
	position: relative;
	border-left: 1px solid var(--colorB);
	border-top: 1px solid var(--colorB);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 1rem;
	width: 100%;
	margin: 4rem 0;
	font-size: 1.5rem;
	line-height: 1.6;
	&:last-child {
		margin-bottom: 0;
	}
	th {
		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.2rem;
			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: 6rem;
		font-size: 1.8rem;
		font-weight: 700;
		text-align: var();
		color: var(--colorW);
	}
}


/* TXTAREA */

.txtArea {
	font-feature-settings: normal;
	letter-spacing: 0;
	a {
		display: inline-flex;
		align-items: center;
		text-decoration: underline;
		word-break: break-all;
		color: var(--colorMain);
		&:hover {
			text-decoration: none;
			color: var(--colorB);
		}
		&[target="_blank"] {
			&:after {
				content: "";
				display: block;
				background: url(../img/icon-blank2-b.png) no-repeat center center / 1.8rem;
				width: 1.8rem;
				height: 1.8rem;
				margin-left: 1rem;
				flex-shrink: 0;
			}
		}
		&[href$=".pdf"] {
			&:after {
				content: "";
				display: block;
				background: url(../img/icon-pdf.png) no-repeat center center / 1.6rem;
				width: 1.6rem;
				height: 1.6rem;
				margin-left: 1rem;
				flex-shrink: 0;
			}
		}
		&[href^="tel:"] {
			pointer-events: none;
			text-decoration: none;
			color: var(--colorB);
		}
		&:has(img) {
			&:after {
				display: none !important;
			}
		}
	}
	a.txtBtn, .txtBtn a {
		display: inline-flex;
		align-items: center;
		border: 1px solid var(--colorMain);
		border-radius: 1rem;
		background-color: var(--colorW);
		padding: 1.3rem 2rem 1.1rem 2rem;
		font-size: 1.6rem;
		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.6rem;
			flex-shrink: 0;
		}
		&:hover {
			background-color: var(--colorLink);
		}
	}
	.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: 6rem 0;
	}

	p {
		margin: 2rem 0;
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
	}
	ul {
		margin: 3rem 0;
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
		li {
			position: relative;
			margin: 0.5rem 0;
			padding-left: 1em;
			&:before {
				content: "";
				position: absolute;
				top: 0.6em;
				left: 0.2rem;
				border-radius: 0.6rem;
				background-color: var(--colorMain);
				width: 0.6rem;
				height: 0.6rem;
			}
		}
	}
	ol {
		counter-reset: num;
		margin: 3rem 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: 3rem 0;
		dt {
			margin-top: 1.5rem;
			font-weight: 700;
		}
		dd {
			padding-left: 1em;
		}
	}

	h2 {
		position: relative;
		display: flex;
		align-items: center;
		border-radius: 1rem;
		background-color: var(--colorMain);
		width: 100%;
		min-height: 7rem;
		margin: 8rem 0 2.5rem 0;
		padding: 1.5rem 3rem;
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1.3;
		color: var(--colorW);
	}
	h3 {
		position: relative;
		margin: 6rem 0 2rem 0;
		padding-left: 2rem;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.4;
		&:before {
			content: "";
			position: absolute;
			top: 0.2rem;
			left: 0;
			display: block;
			border-left: 5px solid var(--colorMain);
			height: 1.2em;
		}
		&:first-child {
			margin-top: 0;
		}
	}
	h4 {
		position: relative;
		margin: 4rem 0 2rem 0;
		font-size: 2.2rem;
		font-weight: 700;
		line-height: 1.3;
		&:first-child {
			margin-top: 0;
		}
	}
	.plain {
		margin: 4rem 0 2rem 0;
		padding: 0;
		font-size: 100%;
		font-weight: 700;
		line-height: 1.75;
		&:before {
			display: none;
		}
		&:first-child {
			margin-top: 0;
		}
	}

	figure {
		clear: both;
		width: 100% !important;
		margin: 8rem 0;
		padding: 0;
		text-align: center;
		figcaption {
			width: 100% !important;
			margin: 1rem 0 0 0;
			padding: 0;
			font-size: 1.6rem;
			text-align: center;
		}
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
	}
	blockquote {
		clear: both;
		border: 1px solid var(--colorMain);
		border-radius: 0.5rem;
		background-color: var(--colorW);
		margin: 6rem 0;
		padding: 4rem;
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
	}

	table {
		clear: both;
		position: relative;
		border: 1px solid var(--colorB);
		width: 100%;
		margin: 6rem 0;
		font-size: 1.6rem;
		line-height: 1.7;
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
		th {
			vertical-align: middle;
			border: 1px solid var(--colorB);
			background-color: var(--colorSub);
			padding: 1.5rem 1.5rem;
			font-weight: 500;
			text-align: center;
			color: var(--colorMain);
		}
		td {
			vertical-align: middle;
			border: 1px solid var(--colorB);
			padding: 1.6rem 2rem;
			font-weight: 400;
			&:has(a[href*="tel:"]) {
				font-weight: 700;
				font-size: 1.8rem;
				text-align: center;
			}
			em {
				font-style: normal;
				font-weight: 500;
			}
			strong {
				font-weight: 700;
			}
		}
		a[href^="http"] {
			font-size: 1.5rem;
			line-height: 1.4;
			&:after {
				display: none;
			}
		}
	}

	.columnBox {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		margin: 5rem 0;
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
		img {
			width: 30rem;
		}
		.read {
			width: calc(100% - 34rem);
		}
	}

	.alignCenter {
		clear: both;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	.alignRight {
		float: right;
		margin-left: 3rem;
	}
	.alignLeft {
		float: left;
		margin-right: 3rem;
	}
	table.alignright,
	table.alignleft,
	table.aligncenter {
		display: table;
	}
	.sizeThumbnail {
		width: 15rem;
		height: auto;
	}
	.sizeMedium {
		width: 35rem;
		height: auto;
	}
	.sizeFull {
		width: 100%;
		height: auto;
	}
}


/* FADE */

.fade {
	opacity: 0;
	transition: 0.8s linear;
}
.fade.active {
	opacity: 1;
}
.fade-l {
	position: relative;
	opacity: 0;
	transform: translate(-2rem, 0);
	transition: 0.8s ease-out;
}
.fade-l.active {
	opacity: 1;
	transform: translate(0, 0);
}
.fade-r {
	position: relative;
	opacity: 0;
	transform: translate(2rem, 0);
	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;
	transform: translate(0, -2rem);
	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;
	transform: translate(0, 2rem);
	transition: 0.8s ease-out;
}
.fade-b.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-w {
	transition: 0.8s ease-out;
	transform: scale(1.1,1.1);
	opacity: 0;
}
.fade-z {
	transition: 0.8s ease-out;
	transform: scale(0.9,0.9);
	opacity: 0;
}
.fade-w.active,
.fade-z.active {
	transform: scale(1,1);
	opacity: 1;
}
.blur {
	transition: 5s ease;
	filter: blur(10rem);
	transform: scale(1.5,1.5);
	opacity: 1;
}
.blur.active {
	filter: blur(0);
	transform: scale(1,1);
	opacity: 1;
}


/* Notice */

.importantNotice {
	border-radius: 1rem;
	background-color: var(--colorImportant);
	margin: 4rem 0 5rem 0;
	padding: 4rem 0;
	&.first {
		margin-top: 8rem;
	}
	h3 {
		display: flex;
		align-items: center;
		position: absolute;
		top: -5.4rem;
		left: 5rem;
		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 {
		gap: 1.5rem;
		dt {
			margin: 0;
		}
		.day {
			width: 10rem;
		}
		.title {
			border: none;
			margin: 0;
			padding: 0;
			width: calc(100% - 26rem);
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}
	}
}










/* HEADER */

.siteHeader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	.serviceStatus {
		position: relative;
		background-color: #ceeae2;
		width: 100%;
		height: 5rem;
		padding: 1.1rem 5rem;
		z-index: 3;
		dl {
			display: flex;
			align-items: center;
			border-radius: 2.8rem;
			background-color: var(--colorW);
			background-size: 3rem;
			background-position: 1.5rem center;
			background-repeat: no-repeat;
			background-image: url(../img/signal-blue.png);
			width: 68rem;
			height: 2.8rem;
			margin: auto;
			padding: 0 1.5rem;
			font-weight: 700;
			line-height: 1;
			color: var(--colorMain);
			dt {
				width: 10rem;
				padding-left: 3.8rem;
				font-size: 1.2rem;
			}
			dd {
				border-left: 1px solid var(--colorMain);
				width: calc(100% - 10rem);
				padding: 0.1rem 0 0.1rem 1rem;
				font-size: 1.4rem;
				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: 5rem;
			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: 2px solid var(--colorMain);
				width: 100%;
			}
			&:before {
				transform: rotate(45deg);
			}
			&:after {
				transform: rotate(-45deg);
			}
		}
		& + .serviceStatus {
			#statusClose {
				display: none;
			}
		}
	}
	.mainMenu {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		background-color: var(--colorW);
		width: 100%;
		height: 7.5rem;
		padding-left: 5rem;
		box-shadow: 0 0.3rem 0.6rem rgba(217, 241, 248, 0.7);
		z-index: 2;
		.menuLogo {
			width: 18rem;
			font-size: 0;
		}
		.menuAll {
			display: flex;
			justify-content: flex-end;
			align-items: center;
			width: calc(100% - 23rem);
			height: 7.5rem;
			font-family: var(--font2);
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1;
			letter-spacing: 0.05em;
			color: var(--colorMain);
			ul {
				display: flex;
				width: 80%;
				height: 7.5rem;
				li {
					position: relative;
					width: 25%;
					height: 7.5rem;
					&:before {
						content: "";
						position: absolute;
						top: 50%;
						left: 0;
						display: block;
						border-left: 1px solid var(--colorMain);
						height: 4rem;
						margin-top: -2rem;
					}
					&:first-child {
						&:before {
							display: none;
						}
					}
					a {
						position: relative;
						display: flex;
						justify-content: center;
						align-items: center;
						gap: 1rem;
						width: 100%;
						height: 7.5rem;
						text-decoration: none;
						color: var(--colorMain);
						div {
							position: relative;
							width: 4rem;
							height: 4rem;
							img {
								position: absolute;
								top: 0;
								left: 0;
								width: 4rem;
								height: 4rem;
								transition: 0.2s ease;
							}
							.img1 {
								z-index: 2;
							}
							.img2 {
								z-index: 1;
							}
						}
						span {
							transform: rotate(0.03deg);
						}
						&:after {
							content: "";
							position: absolute;
							left: 50%;
							bottom: 0;
							display: block;
							width: 66%;
							border-bottom: 0.5rem solid var(--colorMain);
							margin-left: -33%;
							opacity: 0;
							transition: 0.2s ease;
						}
						&:hover {
							&:after {
								opacity: 1;
							}
							div {
								&.menu1 {
									.img2 {
										transform: translate(-2.3rem, 0);
									}
								}
								&.menu2 {
									.img2 {
										transform: translate(-1.3rem, -1.1rem);
									}
								}
								&.menu3 {
									.img2 {
										transform: translate(0, -1.8rem);
									}
								}
								&.menu4 {
									.img1 {
										transform: translate(-1rem, 0);
									}
									.img2 {
										transform: translate(1rem, 0.4rem);
									}
								}
							}
						}
					}
				}
			}
			#menuOpen {
				position: relative;
				display: flex;
				justify-content: center;
				align-items: center;
				width: 20%;
				height: 7.5rem;
				background-color: var(--colorMain);
				color: var(--colorW);
				cursor: pointer;
				div {
					position: relative;
					border-radius: 0.4rem;
					background-color: var(--colorW);
					width: 3.4rem;
					height: 0.4rem;
					margin-right: 2.2rem;
					transition: 0.2s ease;
					&:before, &:after {
						content: "";
						position: absolute;
						left: 0;
						display: block;
						border-radius: 0.4rem;
						background-color: var(--colorW);
						width: 3.4rem;
						height: 0.4rem;
						transition: 0.2s ease;
					}
					&:before {
						top: -1rem;
					}
					&:after {
						top: 1rem;
					}
				}
				span {
					transform: rotate(0.03deg);
				}
				&.active {
					div {
						background-color: var(--colorMain);
						&:before {
							top: 0;
							transform: rotate(45deg);
						}
						&:after {
							top: 0;
							transform: rotate(-45deg);
						}
					}
					&:after {
						content: "";
						position: absolute;
						left: 50%;
						bottom: -1.2rem;
						background: url(../img/menu-ar.png) no-repeat center center / 2.3rem 1.2rem;
						width: 2.3rem;
						height: 1.2rem;
						margin-left: -1.15rem;
					}
				}
			}
		}
	}
	.megaMenu {
		display: none;
		position: relative;
		background-color: var(--colorW);
		width: 100%;
		padding: 5rem;
		box-shadow: 0 0.3rem 0.6rem rgba(217, 241, 248, 0.7);
		z-index: 1;
		.megaInner {
			position: relative;
			display: flex;
			justify-content: space-between;
			width: 100%;
			max-width: 114rem;
			margin-left: auto;
			margin-right: auto;
			z-index: 1;
			.megaLogo, .sns {
				display: none;
			}
			.menu1 {
				width: 23rem;
				li {
					margin-bottom: 1rem;
					a {
						position: relative;
						display: flex;
						align-items: center;
						border-radius: 1rem;
						background-color: var(--colorLink);
						width: 100%;
						height: 6rem;
						padding: 1rem 4rem 1rem 2rem;
						font-size: 1.6rem;
						font-weight: 700;
						line-height: 1;
						letter-spacing: 0.05em;
						text-decoration: none;
						color: var(--colorB);
						&:after {
							content: "";
							position: absolute;
							top: 50%;
							right: 2.8rem;
							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;
						}
						&:hover {
							background-color: var(--colorMain);
							color: var(--colorW);
							&:after {
								content: "";
								position: absolute;
								top: 50%;
								right: 1.8rem;
								display: block;
								background-image: url(../img/ar-w.png);
								width: 1rem;
								height: 1.6rem;
								margin-top: -0.8rem;
							}
						}
					}
				}
			}
			.menu2 {
				display: flex;
				gap: 5.5rem;
				width: calc(100% - 33rem);
				a {
					position: relative;
				}
				ul {
					line-height: 1;
					li {
						margin-bottom: 2.8rem;
						&:last-child {
							margin-bottom: 0;
						}
						a {
							padding-left: 2.5rem;
							font-size: 1.6rem;
							font-weight: 700;
							&:before {
								content: "";
								position: absolute;
								top: 0.1rem;
								left: 0;
								display: block;
								background: url(../img/ar2-b.png) no-repeat center center / 1.6rem;
								width: 1.6rem;
								height: 1.6rem;
								transition: 0.2s ease;
							}
							&:hover {
								&:before {
									transform: scale(1.2,1.2);
								}
							}
						}
						ul {
							margin-top: 1.6rem;
							padding-left: 2.5rem;
							li {
								margin-bottom: 1.4rem;
								&:last-child {
									margin-bottom: 0;
								}
								a {
									padding-left: 0;
									font-size: 1.4rem;
									font-weight: 500;
									&:before {
										display: none;
									}
								}
							}
						}
					}
				}
				.character {
					width: 16rem;
					margin-top: 2.5rem;
					font-size: 1.4rem;
					img {
						display: block;
						margin-bottom: 1rem;
					}
					span {
						font-size: 1.2rem;
					}
				}
			}
		}
	}
}
body.statusClose {
	.siteHeader {
		.serviceStatus {
			display: none;
		}
	}
}










/* FOOTER */

.pageFooter {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	background: url(../img/page-fotter.png) repeat-x center bottom / 200rem;
	width: 100%;
	height: 32rem;
	font-size: 1.2rem;
	line-height: 1;
	overflow: hidden;
	ul {
		display: flex;
		position: relative;
		width: 100%;
		max-width: 120rem;
		margin: 0 auto;
		padding: 1.5rem 2.5rem;
		white-space: nowrap;
		li {
			&:after {
				content: "\FF1E";
				margin: 0 1em;
			}
			&:last-child {
				&:after {
					display: none;
				}
			}
		}
	}
	&:after {
		content: "";
		position: absolute;
		left: calc(50% + 25rem);
		bottom: 2.8rem;
		display: block;
		background: url(../img/page-fotter-bus.png) no-repeat center center / 30rem;
		width: 30rem;
		height: 10rem;
	}
}

.siteFooter {
	position: relative;
	background-color: var(--colorMain);
	padding: 8rem 0;
	color: var(--colorW);
	a {
		color: var(--colorW);
		font-weight: 400;
	}
	.footerTop {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		.logo {
			width: 23rem;
		}
		.sns {
			width: 22rem;
			a {
				display: flex;
				justify-content: center;
				align-items: center;
				border-radius: 0.6rem;
				background-color: #231815;
				width: 22rem;
				height: 6.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;
				}
				&:hover {
					background-color: #6f6866;
				}
			}
		}
	}
	.footerMenu {
		display: flex;
		align-items: flex-end;
		gap: 3rem;
		margin-top: 3rem;
		ul {
			min-width: 19rem;
			li {
				border-bottom: 1px solid var(--colorSub);
				margin-top: 2rem;
				a {
					position: relative;
					display: flex;
					align-items: center;
					width: 100%;
					height: 3rem;
					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: 0.8rem;
						display: block;
						background: url(../img/ar-w.png) no-repeat center center / 0.7rem 1.2rem;
						width: 0.7rem;
						height: 1.2rem;
						margin-top: -0.6rem;
						transition: 0.2s ease;
					}
					&:hover {
						&:after {
							right: 0;
						}
					}
				}
			}
		}
	}
	.footerBtm {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-top: 3.5rem;
		font-size: 1.3rem;
		ul {
			display: flex;
			gap: 3rem;
		}
	}
}










/* INDEX */

.mainBtn {
	position: relative;
	display: flex;
	justify-content: space-between;
	gap: 3.5rem;
	width: 64rem;
	margin: 0 auto;
	z-index: 2;
	li {
		width: 100%;
	}
	a {
		align-content: flex-start;
		border: 4px solid var(--colorMain);
		width: 100%;
		padding: 1.8rem 1rem;
		height: 23.5rem;
		font-size: 2.6rem;
		line-height: 1.35;
		box-shadow: inset -0.8rem -0.8rem 0 rgba(29, 80, 162, 0.2), 0 1.5rem 0 var(--colorMain);
		&:hover {
			transform: translate(0, 1.5rem);
			box-shadow: inset -0.8rem -0.8rem 0 rgba(29, 80, 162, 0.2), 0 0rem 0 var(--colorMain);
		}
		img {
			width: 10rem;
		}
		span {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 100%;
			height: calc(100% - 10rem);
		}
	}
}

.indexMv {
	position: relative;
	background: linear-gradient(to bottom,  #d0f3ff 0%,#ffffff 70%);
	width: 100%;
	height: 59rem;
	padding-top: 8rem;
	overflow: hidden;
	z-index: 1;
	h1 {
		display: none;
	}
	.animationArea {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 59rem;
		overflow: hidden;
		pointer-events: none;
		z-index: 1;
		.airplane {
			animation: airplane 35s linear infinite;
			position: absolute;
			top: 12rem;
			left: -8rem;
			width: 8rem;
			z-index: 3;
		}
		.balloon {
			animation: balloon 50s linear infinite;
			position: absolute;
			top: 20.5rem;
			right: -5.5rem;
			width: 5.5rem;
			z-index: 3;
		}
		.cloud {
			animation: cloud 110s linear infinite;
			position: absolute;
			top: -1.5rem;
			left: 0;
			background: url(../img/index/index-mv-cloud.png) repeat-x 0 top / 180rem;
			width: 100%;
			height: 34rem;
			z-index: 2;
		}
		.bus {
			animation: bus 30s linear infinite;
			position: absolute;
			bottom: 6rem;
			left: calc(50% + 25rem);
			width: 24rem;
			z-index: 3;
		}
		.busstop {
			animation: busstop 30s linear infinite;
			position: absolute;
			bottom: 5.5rem;
			left: -5%;
			width: 2.5rem;
			height: 9rem;
			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 / 180rem;
			width: 100%;
			height: 13rem;
			z-index: 2;
		}
		.city {
			animation: city 30s linear infinite;
			position: absolute;
			bottom: 13rem;
			left: 0;
			background: url(../img/index/index-mv-city.png) repeat-x 0 top / 120rem;
			width: 100%;
			height: 8rem;
			z-index: 2;
		}
	}
}
@keyframes bus {
	0% { bottom: 6rem; }
	8.5% { bottom: 6rem; }
	9% { bottom: 6.5rem; }
	10% { bottom: 6rem; }
	18.5% { bottom: 6rem; }
	19% { bottom: 6.5rem; }
	20% { bottom: 6rem; }
	28.5% { bottom: 6rem; }
	29% { bottom: 6.5rem; }
	30% { bottom: 6rem; }
	38.5% { bottom: 6rem; }
	39% { bottom: 6.5rem; }
	40% { bottom: 6rem; }
	48.5% { bottom: 6rem; }
	49% { bottom: 6.5rem; }
	50% {bottom: 6rem;}
	58.5% { bottom: 6rem; }
	59% { bottom: 6.5rem; }
	60% {bottom: 6rem;}
	68.5% { bottom: 6rem; }
	69% { bottom: 6.5rem; }
	70% { bottom: 6rem; }
	80% { bottom: 6rem; }
	88.5% { bottom: 6rem; }
	89% { bottom: 6.5rem; }
	90% { bottom: 6rem; }
	98.5% { bottom: 6rem; }
	99% { bottom: 6.5rem; }
	100% {bottom: 6rem;}
}
@keyframes airplane {
	0% {
		left: -8rem;
	}
	50% {
		left: calc(100% + 8rem);
	}
	100% {
		left: calc(100% + 8rem);
	}
}
@keyframes balloon {
	0% {
		right: -5.5rem;
	}
	20% {
		right: -5.5rem;
	}
	100% {
		right: calc(100% + 5.5rem);
	}
}
@keyframes busstop {
	0% {
		left: -5%;
	}
	70% {
		left: calc(50% + 34rem);
	}
	80% {
		left: calc(50% + 34rem);
	}
	100% {
		left: 105%;
	}
}
@keyframes road {
	0% {
		background-position-x: 0;
	}
	70% {
		background-position-x: 140rem;
	}
	80% {
		background-position-x: 140rem;
	}
	100% {
		background-position-x: 180rem;
	}
}
@keyframes city {
	0% {
		background-position-x: 0;
	}
	70% {
		background-position-x: 93.33rem;
	}
	80% {
		background-position-x: 93.33rem;
	}
	100% {
		background-position-x: 120rem;
	}
}
@keyframes cloud {
	0% {
		background-position-x: 0;
	}
	100% {
		background-position-x: 180rem;
	}
}

.indexTitle {
	position: relative;
	width: 100%;
	height: 12rem;
	margin-top: -12rem;
	h2 {
		position: relative;
		display: flex;
		align-items: center;
		max-width: 100rem;
		height: 12rem;
		margin: 0 auto;
		font-family: var(--font2);
		font-size: 3.2rem;
		font-weight: 700;
		line-height: 1;
		color: var(--colorMain);
		z-index: 2;
		&:before {
			content: "";
			display: block;
			background: url(../img/icon-header.png) no-repeat center center / 5rem;
			width: 5rem;
			height: 5rem;
			margin-right: 1.5rem;
		}
	}
	&:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		border-radius: 0 2rem 2rem 0;
		background-color: var(--colorW);
		width: calc(50% - 17rem);
		height: 12rem;
		z-index: 1;
	}
}

.indexInformation {
	position: relative;
	width: 100%;
	background-color: var(--colorW);
	padding: 6rem 0 14rem 0;
	z-index: 2;
}

.indexPickuptitle {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	max-width: 100rem;
	margin: 0 auto 2.5rem auto;
	font-family: var(--font2);
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1;
	color: var(--colorMain);
	&:before {
		content: "";
		display: block;
		background: url(../img/icon-check.png) no-repeat center center / 2.2rem;
		width: 2.2rem;
		height: 2.2rem;
		margin-right: 1rem;
		z-index: 1;
	}
}
.indexPickup {
	display: none;
	position: relative;
	width: 100%;
	margin-bottom: 4rem;
	&.slick-initialized {
		display: block;
	}
	.slick-list {
		margin: 0 -1.4rem;
	}
	.slick-slide {
		margin: 0 1.4rem;
	}
	.slick-dots {
		display: flex;
		justify-content: center;
		gap: 2.4rem;
		margin-top: 3rem;
		li {
			width: 1rem;
			height: 1rem;
			button {
				display: block;
				background-color: var(--colorMain);
				border-radius: 1rem;
				width: 1rem;
				height: 1rem;
				padding-top: 1rem;
				font-size: 0;
				opacity: 0.3;
				overflow: hidden;
			}
			&.slick-active {
				button {
					opacity: 1;
				}
			}
		}
	}
}

.indexNews {
	display: flex;
	justify-content: space-between;
	.newsTabarea {
		display: none;
	}
	.newsArea {
		width: 45%;
	}
	h3 {
		border-left: 5px solid var(--colorMain);
		margin-bottom: 3rem;
		padding: 0.3rem 0 0.3rem 1.5rem;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1;
	}
	.newsList {
		dt {
			margin-left: 0;
		}
		.title {
			padding: 0 0 2rem 0;
			a {
				display: -webkit-box;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				-webkit-line-clamp: 2;
			}
		}
	}
	.btnStyle {
		margin-top: 4rem;
		padding: 0 2.5rem 1rem 2.5rem;
	}
}

.indexUseful {
	position: relative;
	width: 100%;
	background-color: var(--colorSub);
	padding: 6rem 0 8rem 0;
	z-index: 2;
	.indexTitle {
		&:before {
			background-color: var(--colorSub);
		}
	}
}
.indexUsefullist {
	display: flex;
	gap: 3rem;
	a {
		position: relative;
		display: block;
		border-radius: 1rem;
		background-color: var(--colorW);
		width: 100%;
		padding: 3rem 2rem 4rem 2rem;
		font-size: 1.4rem;
		font-weight: 400;
		text-decoration: none;
		text-align: center;
		line-height: 1;
		color: #7796c7;
		box-shadow: 0.6rem 0.6rem 0 #c9ebf5;
		.image {
			background-size: 8rem;
			background-position: center center;
			background-repeat: no-repeat;
			width: 8rem;
			height: 8rem;
			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: 1.5rem 0;
			font-family: var(--font2);
			font-size: 1.8rem;
			font-weight: 700;
			line-height: 1.4;
			color: var(--colorMain);
			transform: rotate(0.03deg);
		}
		&:before {
			content: "";
			position: absolute;
			top: -1rem;
			left: 2rem;
			display: block;
			background: url(../img/index/index-info-pin.png) no-repeat center center / 27rem 2.2rem;
			width: 27rem;
			height: 2.2rem;
		}
		&:hover {
			background-color: #4d8bc9;
			color: var(--colorW);
			.image {
				&.image1 {
					background-image: url(../img/index/index-info-icon_01_w.png);
				}
				&.image2 {
					background-image: url(../img/index/index-info-icon_02_w.png);
				}
				&.image3 {
					background-image: url(../img/index/index-info-icon_03_w.png);
				}
			}
			h3 {
				color: var(--colorW);
			}
			&:after {
				content: "";
				position: absolute;
				right: 1rem;
				bottom: 0;
				display: block;
				background: url(../img/index/index-info-hover.png) no-repeat center center / 31.5rem 2.4rem;
				width: 31.5rem;
				height: 2.4rem;
			}
		}
	}
}

.indexOurpolicy {
	position: relative;
	background: var(--colorMain) url(../img/index/index-ourpolicy-bg.png) no-repeat center bottom / cover;
	padding: 6rem 0 18rem 0;
	z-index: 1;
	h2 {
		width: 29rem;
		margin: 0 0 -1.2rem -8.5rem;
		& + p {
			font-size: 2.45rem;
			font-weight: 700;
			line-height: 2.23;
			letter-spacing: 0.1em;
			color: var(--colorMain);
			span {
				background-color: var(--colorW);
				padding: 0.4rem 0;
			}
		}
	}
	ul {
		display: flex;
		flex-wrap: wrap;
		width: 52rem;
		margin-top: 2.5rem;
		padding: 0;
		gap: 1.8rem;
		li {
			width: 25rem;
			a {
				height: 9rem;
				box-shadow: inset -0.6rem -0.6rem 0 rgba(29, 80, 162, 0.2), 0 1.5rem 0 var(--colorMain);
				&:hover {
					transform: translate(0, 1.5rem);
					box-shadow: inset -0.6rem -0.6rem 0 rgba(29, 80, 162, 0.2), 0 0rem 0 var(--colorMain);
				}
				img {
					width: 5rem;
					margin-right: 2rem;
				}
			}
		}
	}
	.image {
		position: absolute;
		bottom: -1.5rem;
		right: 5rem;
		border-radius: 2rem;
		padding: 0;
		width: 42rem;
		height: 32rem;
		overflow: hidden;
		z-index: -1;
		img {
			object-fit: cover;
			object-position: 0 28%;
			max-width: initial;
			width: 100%;
			height: 100%;
		}
	}
}

.indexService {
	position: relative;
	width: 100%;
	background-color: var(--colorW);
	padding: 6rem 0 8rem 0;
	z-index: 2;
	ul {
		display: flex;
		width: 100%;
		padding: 0 0 1.5rem 0;
		gap: 3rem;
		li {
			width: 100%;
			a {
				height: 17rem;
				box-shadow: inset -0.6rem -0.6rem 0 rgba(29, 80, 162, 0.2), 0 1.5rem 0 var(--colorMain);
				&:hover {
					transform: translate(0, 1.5rem);
					box-shadow: inset -0.6rem -0.6rem 0 rgba(29, 80, 162, 0.2), 0 0rem 0 var(--colorMain);
				}
				span {
					display: block;
					width: 100%;
					margin-bottom: 0.8rem;
				}
				img {
					display: block;
					width: 17.5rem;
					margin: 0 auto;
				}
			}
		}
	}
}










/* rosen */

.rosen-topmenu {
	position: relative;
	display: flex;
	justify-content: flex-end;
	width: 100%;
	margin: 4rem 0;
	padding: 2.5rem 0;
	.imgBox {
		position: absolute;
		top: 0;
		left: 0;
		width: 62rem;
		height: 100%;
		padding: 0;
		z-index: 1;
	}
	.menu {
		position: relative;
		width: 61rem;
		z-index: 2;
		.mainBtn {
			gap: 2rem;
			width: 61rem;
		}
		.btnStyle2 {
			display: flex;
			gap: 2rem;
			margin-top: 3.5rem;
			li {
				width: 100%;
				a {
					border-radius: 1rem;
					min-height: 10rem;
				}
			}
		}
	}
}

.linkList, .linkList2 {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	width: 100%;
	margin-top: 3rem;
	a {
		position: relative;
		display: flex;
		align-items: center;
		width: 100%;
		padding-left: 2.4rem;
		line-height: 1.6;
		word-break: break-word;
		&:before {
			content: "";
			position: absolute;
			top: 0.4rem;
			left: 0;
			display: block;
			background: url(../img/ar2-b.png) no-repeat center center / 1.6rem;
			width: 1.6rem;
			height: 1.6rem;
			transition: 0.2s ease;
		}
		&[href$=".pdf"] {
			&:after {
				content: "";
				display: block;
				background: url(../img/icon-pdf.png) no-repeat center center / 1.6rem;
				width: 1.6rem;
				height: 1.6rem;
				margin-left: 1rem;
				flex-shrink: 0;
			}
		}
		span {
			border-radius: 0.3rem;
			background-color: var(--colorLink);
			margin-left: 1rem;
			padding: 0.4rem 0.8rem;
			font-size: 1.3rem;
			font-weight: 400;
			line-height: 1;
			text-decoration: none;
			color: var(--colorMain);
			white-space: nowrap;
			transition: 0.2s ease;
			flex-shrink: 0;
		}
		&:hover {
			font-weight: 700;
			&:before {
				transform: scale(1.2,1.2);
			}
			span {
				background-color: var(--colorMain);
				color: var(--colorW);
			}
		}
	}
	&:first-child {
		margin-top: 0;
	}
	&.noFlex {
		li {
			width: 100% !important;
		}
	}
}
.linkList {
	li {
		width: calc(50% - 0.5rem);
	}
}
.linkList2 {
	li {
		width: calc(calc(100% - 2rem) / 3);
	}
}
.linkList3 {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 3rem 10rem;
	width: 100%;
	li {
		width: calc(50% - 5rem);
		a {
			margin-bottom: 1.2rem;
		}
	}
}

.sideContents {
	display: flex;
	justify-content: space-between;
	width: 100%;
	.sideRead {
		position: relative;
		width: calc(100% - 30rem);
	}
	.sideMenu {
		position: relative;
		width: 22rem;
		dl {
			position: sticky;
			top: 14rem;
			padding: 0 !important;
			dt {
				margin: 4rem 0 1.5rem 0;
				font-family: var(--font2);
				font-size: 2.2rem;
				font-weight: 700;
				line-height: 1;
				transform: rotate(0.03deg);
				&:first-child {
					margin-top: 0;
				}
			}
			dd {
				position: relative;
				margin-bottom: 1rem;
				padding-bottom: 1rem;
				text-align: center;
				&:last-child {
					margin-bottom: 0;
				}
				a {
					border-radius: 1.2rem;
					height: 5.5rem;
				}
				button {
					border-radius: 1.2rem;
					width: 15rem;
					height: 4.5rem;
					margin: 0 auto;
					padding: 0 0 0.2rem 0;
					font-size: 1.8rem;
				}
				select {
					border-radius: 1rem;
					background-color: var(--colorLink);
					width: 100%;
					height: 5.5rem;
					font-size: 2rem;
					font-weight: 700;
					line-height: 1;
					text-align: center;
					cursor: pointer;
					transition: 0.2s ease;
					&:hover {
						background-color: var(--colorMain);
						color: var(--colorW);
					}
				}
				&:has(select) {
					padding-bottom: 0;
					&:after {
						content: "";
						position: absolute;
						top: 50%;
						right: 2.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);
						transition: 0.2s ease;
						z-index: 2;
					}
				}
				&:has(select:hover) {
					&:after {
						background-image: url(../img/ar-w.png);
					}
				}
			}
		}
	}
}

.operationsMenu {
	display: flex;
	justify-content: center;
	gap: 3rem;
	width: 100%;
	margin: 6rem 0 2rem 0;
	padding: 0;
	li {
		width: 17rem;
		padding-bottom: 1rem;
		a {
			padding: 0.9rem 1.5rem 1.1rem 1.5rem;
			font-size: 2.6rem;
		}
	}
}
.operationsMain {
	position: relative;
	display: flex;
	justify-content: space-between;
	border: 1px solid var(--colorBorder);
	border-radius: 1rem;
	background-color: var(--colorW);
	width: 100%;
	min-height: 9rem;
	margin-top: 2rem;
	padding: 3.1rem 13rem 3.1rem 4.5rem;
	overflow: hidden;
	.hidden {
		display: none;
	}
	.title {
		width: 10rem;
		h3 {
			font-size: 2rem;
			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: 8.6rem;
			height: 3.6rem;
			margin-top: 1.5rem;
			font-size: 1.6rem;
			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: calc(100% - 12.5rem);
		z-index: 1;
		h4 {
			display: flex;
			align-items: center;
			padding: 0.3rem 4rem 0 4rem;
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1.3;
			&.normal {
				border-radius: 0.5rem;
				background-color: #2069d6;
				min-height: 4rem;
				margin-top: 1.5rem;
				padding: 1rem 4rem 0.8rem 4rem;
				color: var(--colorW);
			}
			&.caution {
				border: 3px solid var(--colorLink);
				border-radius: 0.5rem;
				background-color: var(--colorW);
				min-height: 4rem;
				margin-top: 1.5rem;
				padding: 0.7rem calc(4rem - 3px) 0.5rem calc(4rem - 3px);
				color: var(--colorB);
			}
			&.emergency {
				color: var(--colorRed);
			}
		}
		.txtArea {
			width: 100%;
			margin: 2.5rem 0;
			padding-left: 4rem;
			font-size: 1.4rem;
		}
		.btnStyle {
			margin-top: 2rem;
			a {
				border-radius: 1rem;
				width: 22rem;
				min-height: 4.5rem;
				font-size: 1.6rem;
			}
		}
	}
	.operationsOpen {
		position: absolute;
		bottom: 0;
		right: 0;
		background: var(--colorMain) url(../img/icon-open-w.png) no-repeat center center / 2rem;
		width: 9rem;
		height: 100%;
		cursor: pointer;
		transition: 0.2s ease;
		&:hover {
			background-color: #2069d6;
		}
	}
	&.active {
		align-items: inherit;
		height: auto;
		.operationsOpen {
			border-radius: 1rem 0 0 0;
			height: 9rem;
			background-image: url(../img/icon-close-w.png);
		}
		.info {
			&:before {
				content: "";
				position: absolute;
				top: 0.6rem;
				left: 1rem;
				display: block;
				border-radius: 1.3rem;
				background-color: var(--colorLink);
				width: 1.3rem;
				height: 1.3rem;
				z-index: -1;
			}
			&:after {
				content: "";
				position: absolute;
				top: 1rem;
				left: 1.5rem;
				display: block;
				height: calc(100% - 2rem);
				border-left: 3px solid var(--colorLink);
				z-index: -1;
			}
		}
	}
}
.operationsCertificate {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 8rem 0;
	.headStyle2 {
		width: 34rem;
		margin: 0;
	}
	ul {
		width: calc(100% - 34rem);
		li {
			margin-bottom: 1rem;
			&:last-child {
				margin-bottom: 0;
			}
			a {
				position: relative;
				display: block;
				border-radius: 0.5rem;
				background-color: var(--colorSub);
				width: 100%;
				padding: 1.6rem 4.5rem 1.4rem 2rem;
				font-size: 1.6rem;
				text-decoration: none;
				line-height: 1.3;
				&:after {
					content: "";
					position: absolute;
					top: 50%;
					right: 2.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;
					transition: 0.2s ease;
				}
				&:hover {
					background-color: var(--colorMain);
					font-weight: 700;
					color: var(--colorW);
					&:after {
						right: 1.7rem;
						background-image: url(../img/ar-w.png);
					}
				}
			}
		}
	}
}
.operationsOtherpage {
	margin: 8rem 0 0 0;
	h3 {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 2.5rem;
		font-size: 1.8rem;
		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 / 2.2rem;
			width: 2.2rem;
			height: 2.2rem;
			margin-right: 1rem;
		}
	}
	.mainBtn {
		width: 58rem;
		a {
			height: 22rem;
			font-size: 2.4rem;
			img {
				width: 9rem;
			}
			span {
				height: calc(100% - 9rem);
			}
		}
	}
}

.certificateNote {
	margin: 6rem 0 8rem 0;
	dt {
		margin-bottom: 1rem;
		font-weight: 700;
	}
	dd {
		position: relative;
		margin-bottom: 0.7rem;
		padding-left: 1em;
		font-size: 1.55rem;
		&:before {
			content: "";
			position: absolute;
			top: 0.9rem;
			left: 0;
			border-radius: 0.8rem;
			background-color: var(--colorMain);
			width: 0.8rem;
			height: 0.8rem;
		}
	}
}
.certificateMain {
	border: 1px solid var(--colorB);
	border-radius: 1rem;
	background-color: var(--colorW);
	max-width: 80rem;
	margin: 8rem auto 5rem auto;
	padding: 6.5rem 5rem 4rem 5rem;
	font-size: 1.5rem;
	color: var(--colorB);
	h2 {
		margin-bottom: 4.5rem;
		font-size: 3rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.3em;
		text-align: center;
	}
	p {
		text-align: center;
	}
	.day {
		margin-top: 1.6rem;
		font-size: 1.8rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.05em;
	}
	dl {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 4.5rem 0 5.5rem 0;
		dt {
			font-size: 1.4rem;
			font-weight: 400;
			line-height: 1.7;
		}
		dd {
			border-left: 1px solid var(--colorB);
			margin-left: 2.2rem;
			padding-left: 2.2rem;
			font-size: 1.2rem;
			li {
				position: relative;
				padding-left: 1em;
				margin-bottom: 0.8rem;
				&:last-child {
					margin-bottom: 0;
				}
				&:before {
					content: "";
					position: absolute;
					top: 0.7rem;
					left: 0;
					border-radius: 0.5rem;
					background-color: var(--colorB);
					width: 0.5rem;
					height: 0.5rem;
				}
			}
		}
	}
	.logo {
		width: 15rem;
		margin: 0 auto;
	}
	.copy {
		margin-top: 1rem;
		font-size: 1rem;
		letter-spacing: 0.05em;
	}
}
.certificatePrint {
	width: 22rem;
	margin: 4rem auto 0 auto;
}
.certificateClose {
	margin-top: 2rem;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	a {
		position: relative;
		text-decoration: none;
		color: var(--colorB);
		&:hover {
			&:after {
				content: "";
				position: absolute;
				bottom: -0.3rem;
				left: 0;
				display: block;
				width: 100%;
				border-bottom: 1px solid var(--colorB);
			}
		}
	}
}

.counterIcon {
	span {
		display: block;
		border-radius: 0.5rem;
		background-color: var(--colorMain);
		width: 6rem;
		height: 2.8rem;
		padding-top: 0.1rem;
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 2.8rem;
		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 {
	display: flex;
	align-items: center;
	border-top: 1px solid var(--colorBorder);
	border-bottom: 1px solid var(--colorBorder);
	margin-top: 5rem;
	padding: 2rem 0;
	dt {
		width: 18rem;
		font-size: 2rem;
		font-weight: 700;
		text-align: center;
	}
	dd {
		border-left: 1px dotted var(--colorBorder);
		width: calc(100% - 18rem);
		padding: 1rem 0 1rem 3rem;
	}
	.counterIcon {
		display: flex;
		flex-wrap: wrap;
		gap: 1.2rem;
		li {
			display: flex;
			align-items: center;
			gap: 1rem;
			width: calc(50% - 0.6rem);
			font-size: 1.6rem;
		}
	}
	& + ul {
		display: flex;
		gap: 1.5rem;
		margin-top: 1.5rem;
		font-size: 1.4rem;
		line-height: 1.3;
		li {
			position: relative;
			padding-left: 1em;
			&:before {
				content: "";
				position: absolute;
				top: 0.3em;
				left: 0;
				border-radius: 0.8rem;
				background-color: var(--colorMain);
				width: 0.8rem;
				height: 0.8rem;
			}
		}
	}
}
.counterArea {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
	.counterMenu {
		width: 15rem;
		ul {
			position: sticky;
			top: 14rem;
			padding: 0 !important;
			li {
				margin-bottom: 1rem;
				padding-bottom: 1rem;
				a {
					padding: 0.7rem 1.5rem 0.9rem 1.5rem;
					font-size: 2.6rem;
				}
				&.filter {
					margin-top: 3rem;
					margin-bottom: 0;
					padding-bottom: 0;
					font-size: 1.3rem;
					font-weight: 500;
					text-align: center;
					line-height: 1.4;
					label {
						margin-bottom: 0.5rem;
					}
					span {
						display: block;
					}
				}
			}
		}
	}
	.counterRead {
		width: calc(100% - 19rem);
	}
}
.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: 9rem;
		padding: 2rem 6rem 2rem 2rem;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.3;
		cursor: pointer;
		transition: 0.2s ease;
		&:hover {
			background-color: var(--colorLink);
		}
		&:after {
			content: "";
			position: absolute;
			top: 50%;
			right: 2rem;
			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: 2.5rem;
	}
	.counterSub {
		position: relative;
		border-top: 1px solid var(--colorBorder);
		width: 100%;
		&:first-of-type {
			border-top: none;
		}
		h5 {
			position: relative;
			display: flex;
			justify-content: space-between;
			align-items: center;
			gap: 1rem;
			width: 100%;
			min-height: 9rem;
			padding: 2rem 6rem 2rem 0.5rem;
			font-size: 1.8rem;
			font-weight: 700;
			line-height: 1.4;
			cursor: pointer;
			&:after {
				content: "";
				position: absolute;
				top: 50%;
				right: 2rem;
				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 {
				display: flex;
				align-items: center;
				gap: 1rem;
				a[target="_blank"] {
					background: url(../img/icon-blank.png) no-repeat right center / 1.5rem;
					padding-right: 2rem;
					font-size: 1.6rem;
					&:hover {
						background-image: url(../img/icon-blank-b.png);
						text-decoration: underline;
						color: var(--colorMain);
					}
				}
			}
			.counterIcon {
				display: flex;
				gap: 0.4rem;
				white-space: nowrap;
			}
		}
	}
	.subData {
		display: none;
		border-top: 1px dotted var(--colorBorder);
		padding: 3rem 0 4rem 0.5rem;
		dl {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			gap: 3rem 0;
			dt {
				width: 25rem;
				font-weight: 500;
				&.mid {
					line-height: 3.2rem;
				}
			}
			dd {
				width: calc(100% - 25rem);
				font-weight: 700;
				span {
					font-size: 1.4rem;
					font-weight: 400;
				}
				ul {
					display: flex;
					flex-wrap: wrap;
					gap: 1rem 2rem;
					margin-bottom: 0.5rem;
					&:last-child {
						margin-bottom: 0;
					}
					&.icon {
						gap: 0.5rem;
						li {
							display: flex;
							justify-content: center;
							align-items: center;
							border: 1px solid var(--colorGray);
							border-radius: 0.5rem;
							background-color: var(--colorW);
							width: calc(calc(100% - 2rem) / 5);
							height: 3.2rem;
							padding-top: 0.2rem;
							font-size: 1.4rem;
							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: 59rem;
	margin: 8rem auto 0 auto;
	text-decoration: none;
	color: var(--colorW);
	span {
		position: absolute;
		left: 3rem;
		bottom: 2.6rem;
		display: flex;
		align-items: center;
		border: 1px solid var(--colorW);
		border-radius: 0.5rem;
		width: 25rem;
		height: 4rem;
		padding: 0.5rem 2rem;
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 1;
		transition: 0.2s ease;
		z-index: 2;
		&:after {
			content: "";
			position: absolute;
			top: 50%;
			right: 2.5rem;
			display: block;
			border-top: 2px solid var(--colorW);
			border-right: 2px solid var(--colorW);
			width: 1rem;
			height: 1rem;
			margin-top: -0.6rem;
			transform: rotate(45deg);
			transition: 0.2s ease;
		}
	}
	img {
		position: relative;
		z-index: 1;
	}
	&:hover {
		span {
			background-color: var(--colorW);
			color: #ba3872;
			&:after {
				border-color: #ba3872;
				right: 1.5rem;
			}
		}
	}
}
.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: 9rem;
		padding: 2rem 6rem 2rem 2rem;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.3;
		cursor: pointer;
		transition: 0.2s ease;
		&:hover {
			background-color: var(--colorLink);
		}
		&:after {
			content: "";
			position: absolute;
			top: 50%;
			right: 2rem;
			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: 3rem;
		.timeData {
			border-bottom: 1px dotted var(--colorBorder);
			padding: 3rem 3rem 3rem 0;
			&:last-child {
				border-bottom: none;
			}
			h4 {
				margin-bottom: 2.5rem;
				font-size: 1.8rem;
				font-weight: 700;
				line-height: 1.2;
			}
			.timeSub {
				display: flex;
				justify-content: space-between;
				align-items: flex-end;
				width: 100%;
				margin-top: 2.5rem;
				p {
					width: calc(100% - 25rem);
					span {
						padding-left: 1em;
						font-size: 1.4rem;
						color: var(--colorRed);
					}
				}
				ul {
					display: flex;
					gap: 0.5rem;
					width: 22.5rem;
					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: 4.2rem;
							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 {
	display: flex;
	justify-content: space-between;
	margin-top: 2.5rem;
	dl {
		width: calc(100% - 34rem);
		dt {
			margin-bottom: 1rem;
			font-size: 1.6rem;
			color: var(--colorB);
		}
	}
	p {
		width: 30rem;
		margin: 0 !important;
		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 3rem center / 8rem;
			width: 30rem;
			height: 13.5rem;
			padding-left: 13rem;
			font-size: 1.4rem;
			font-weight: 500;
			line-height: 1.6;
			text-decoration: none;
			color: var(--colorMain);
			strong {
				display: block;
				width: 100%;
				margin-bottom: 1rem;
				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;
				}
			}
			&:hover {
				background-color: var(--colorMain);
				background-image: url(../img/rosen/lost-icon_off.png);
				color: var(--colorW);
				span {
					&:after {
						right: -3.4rem;
						background-image: url(../img/ar-w.png);
					}
				}
			}
		}
	}
}

.mapWrap {
	position: relative;
	width: 100%;
	max-width: 110rem;
	margin: 4rem auto;
	img {
		position: relative;
		max-width: inherit;
		width: 100%;
		height: auto;
		z-index: 1;
	}
}

.guideMenu {
	display: flex;
	justify-content: center;
	gap: 3rem;
	width: 100%;
	margin: 6rem 0 2rem 0;
	padding: 0 5rem;
	li {
		width: 100%;
		padding-bottom: 1rem;
	}
}
.guideVehicle {
	display: flex;
	justify-content: center;
	gap: 7rem;
	margin: 4rem 0;
	div {
		position: relative;
		width: 34.5rem;
		padding-bottom: 3rem;
		p {
			position: absolute;
			bottom: 0;
			right: 0;
			display: flex;
			justify-content: center;
			align-items: center;
			border-radius: 4rem;
			background-color: var(--colorMain);
			width: 16rem;
			height: 4rem;
			line-height: 1;
			text-align: center;
			color: var(--colorW);
		}
		&:nth-of-type(2) {
			p {
				background-color: #78c7b0;
			}
		}
	}
}
.guideFlow {
	display: flex;
	gap: 0.8rem;
	margin: 4rem 0;
	li {
		width: 100%;
		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 / 3rem 100%;
			width: 100%;
			min-height: 6rem;
			padding: 0.5rem 2rem 0.5rem 1rem;
			font-weight: 700;
			line-height: 1.3;
			text-decoration: none;
			text-align: center;
			&:hover {
				background-color: var(--colorMain);
				color: var(--colorW);
			}
		}
	}
}
.busDestination {
	display: flex;
	gap: 1rem;
	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: 3rem;
			margin-top: 1rem;
			padding: 0.5rem 1rem;
			font-size: 1.5rem;
			line-height: 1.2;
			text-align: center;
			color: var(--colorW);
		}
	}
}
.busRide {
	display: flex;
	justify-content: space-between;
	gap: 4rem;
	margin: -1rem 0 6rem 0;
	.payment {
		width: 100%;
		.box {
			border: 4px 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: 2.5rem;
				ul {
					font-size: 1.4rem;
					line-height: 1.5;
					strong {
						font-size: 1.6rem;
					}
					li {
						position: relative;
						margin-bottom: 0.8rem;
						padding-left: 2.5rem;
						&:before {
							content: "";
							position: absolute;
							top: 0.2rem;
							left: 0;
							display: block;
							background: url(../img/rosen/check_01.png) no-repeat center center / 1.7rem;
							width: 1.7rem;
							height: 1.7rem;
						}
					}
				}
				p {
					position: relative;
					display: block;
					border-radius: 0.5rem;
					background-color: var(--colorW);
					width: 100%;
					margin-top: 1rem;
					padding: 2rem 2.5rem;
					font-size: 1.6rem;
					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: 1.5rem;
			padding-left: 1em;
			text-indent: -1em;
		}
	}
}
.busRide_en {
	border-radius: 1rem;
	background-color: #f2e7d3;
	margin: 5rem 0 6rem 0;
	padding: 3rem;
	h4 {
		margin-bottom: 1rem;
		font-size: 1.8rem;
		font-weight: 700;
	}
	.cash {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		width: 100%;
		.read {
			width: calc(100% - 42rem);
			letter-spacing: 0;
			span {
				color: var(--colorRed);
			}
		}
		.image {
			border-radius: 0.5rem;
			width: 38rem;
			overflow: hidden;
		}
	}
}
.busFare {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
	width: 100%;
	margin: 3rem 0;
	.fare {
		border-radius: 0.5rem;
		background-color: var(--colorLink);
		width: calc(50% - 2rem);
		padding: 3.5rem 4rem;
		h4 {
			font-size: 1.8rem;
			font-weight: 700;
			line-height: 1.2;
			text-align: center;
		}
		img {
			display: block;
			border-radius: 0.5rem;
			overflow: hidden;
			margin: 1.8rem 0;
		}
	}
	.notice {
		display: flex;
		justify-content: space-between;
		align-items: center;
		border-radius: 0.5rem;
		background-color: var(--colorImportant);
		width: 100%;
		div {
			padding: 2rem 5rem;
			h4 {
				display: flex;
				align-items: center;
				margin-bottom: 2rem;
				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;
				}
			}
			dt {
				margin-bottom: 0.6rem;
				font-size: 1.8rem;
				font-weight: 700;
				line-height: 1.4;
			}
		}
		img {
			width: 34rem;
		}
	}
}
.busManual {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	.read {
		width: calc(100% - 29rem);
		ul.manual {
			display: flex;
			gap: 1.5rem;
			width: 70rem;
			margin: 2.5rem 0;
			li {
				width: 100%;
				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: 8.5rem;
					font-size: 1.6rem;
					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.3rem;
							width: 1.3rem;
							height: 1.3rem;
							margin-right: 0.6rem;
							flex-shrink: 0;
						}
					}
					&:after {
						display: none;
					}
					&:hover {
						background-color: var(--colorMain) !important;
						color: var(--colorW);
						span {
							&:before {
								background-image: url(../img/icon-pdf-w.png);
							}
						}
					}
				}
				&:last-of-type {
					a {
						background-color: #f2e7d3;
						&:hover {
							background-color: #d4af6f !important;
						}
					}
				}
			}
		}
		.note {
			font-size: 1.4rem;
			padding-left: 1em;
			text-indent: -1em;
		}
	}
	img {
		width: 24.5rem;
		margin: 0 2rem;
	}
}
.txtColumn {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 7rem 0;
	&:last-of-type {
		margin-bottom: 0;
	}
	.read {
		width: calc(100% - 44rem);
	}
	.image {
		width: 40rem;
	}
	&.imgWide {
		.read {
			width: calc(100% - 58rem);
		}
		.image {
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			width: 54rem;
		}
	}
	&.health {
		margin: 3rem 0;
		.read {
			width: calc(100% - 42.5rem);
		}
		.image {
			position: relative;
			width: 37rem;
			text-align: right;
			.project {
				position: absolute;
				right: -7.5rem;
				bottom: -7.5rem;
				width: 15rem;
				z-index: 2;
			}
		}
	}
	&.headFirst {
		margin-top: 8rem;
	}
}

.routeSearch {
	position: relative;
	width: 100%;
	max-width: 120rem;
	margin: 5rem auto 0 auto;
	padding: 0 3rem;
	.routeGuide {
		position: absolute;
		top: 50%;
		right: 8rem;
		border-radius: 1rem;
		background-color: var(--colorLink);
		width: 33rem;
		padding: 3.5rem 3rem 3rem 3rem;
		font-size: 1.6rem;
		line-height: 1.75;
		z-index: 2;
		transform: translate(0, -50%);
		&: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;
		}
	}
	.routeMap {
		position: relative;
		border-radius: 2rem;
		background: #fff url(../img/search/search-map.png) no-repeat left center / 114rem;
		width: 100%;
		max-width: 114rem;
		height: 70rem;
		overflow: hidden;
		z-index: 1;
		.routeArea {
			position: absolute;
			top: 0;
			left: 0;
			background: url(../img/search/search-area.png) no-repeat left center / 114rem;
			width: 100%;
			height: 70rem;
			z-index: 2;
			pointer-events: none;
		}
		.modalOpen {
			position: absolute;
			outline: 4px solid var(--colorMain2);
			outline-offset: -2px;
			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;
			}
			&:hover {
				&:after {
					background-color: rgba(212, 175, 111, 0.6);
				}
			}
			&.area1 {
				top: 29.1rem;
				left: 5.7rem;
				width: 16.8rem;
				height: 15.7rem;
			}
			&.area2 {
				top: 44.8rem;
				left: 5.7rem;
				width: 16.8rem;
				height: 12.5rem;
			}
			&.area3 {
				top: 15.4rem;
				left: 22.5rem;
				width: 11rem;
				height: 20.3rem;
			}
			&.area4 {
				top: 35.7rem;
				left: 22.5rem;
				width: 11rem;
				height: 9.1rem;
			}
			&.area5 {
				top: 44.8rem;
				left: 22.5rem;
				width: 4.5rem;
				height: 12.5rem;
			}
			&.area6 {
				top: 44.8rem;
				left: 27rem;
				width: 6.5rem;
				height: 12.5rem;
			}
			&.area7 {
				top: 15.4rem;
				left: 33.5rem;
				width: 13.1rem;
				height: 13.7rem;
			}
			&.area8 {
				top: 29.1rem;
				left: 33.5rem;
				width: 13.1rem;
				height: 11rem;
			}
			&.area9 {
				top: 40.1rem;
				left: 33.5rem;
				width: 6.2rem;
				height: 17.2rem;
			}
			&.area10 {
				top: 40.1rem;
				left: 39.7rem;
				width: 6.9rem;
				height: 17.2rem;
			}
			&.area11 {
				top: 29.1rem;
				left: 46.6rem;
				width: 8.6rem;
				height: 15.9rem;
			}
			&.area12 {
				top: 43.1rem;
				left: 46.6rem;
				width: 8.6rem;
				height: 6rem;
			}
			&.area13 {
				top: 23.6rem;
				left: 55.2rem;
				width: 11.4rem;
				height: 13.4rem;
			}
		}
	}
	.routeModal {
		display: none;
		position: absolute;
		top: 50%;
		left: 50%;
		border-radius: 1rem;
		background-color: rgba(0, 0, 0, 0.7);
		width: 80rem;
		padding: 3.5rem;
		color: #fff;
		z-index: 10;
		transform: translate(-50%, -50%);
		.modalClose {
			position: absolute;
			top: 3rem;
			right: 3.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: 2.5rem;
			font-size: 2rem;
			font-weight: 700;
			line-height: 1;
		}
		.routeSystem {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			gap: 1rem;
			.box {
				width: calc(calc(100% - 1rem) / 2);
				&.c1 {
					width: 100%;
				}
				&.c3 {
					width: calc(calc(100% - 2rem) / 3);
				}
				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: 11rem;
						}
					}
					.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;
					}
					&:hover {
						.link {
							background-color: var(--colorMain2);
						}
					}
				}
			}
		}
	}
}










/* Combus */

.combus-kist {
	display: flex;
	flex-wrap: wrap;
	gap: 5rem 4rem;
	width: 100%;
	a {
		position: relative;
		display: flex;
		justify-content: space-between;
		border: 1px solid var(--colorMain);
		border-radius: 1rem;
		width: calc(50% - 2rem);
		background-color: var(--colorW);
		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: 4rem;
			z-index: 1;
		}
		&:after {
			content: "";
			position: absolute;
			top: 41%;
			right: 4rem;
			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: 1rem;
			width: 14rem;
			height: 14rem;
			overflow: hidden;
			z-index: 2;
		}
		div {
			position: relative;
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			width: calc(100% - 16.5rem);
			height: 14rem;
			z-index: 2;
			.bus {
				height: 2.5rem;
				padding-top: 1rem;
				font-size: 1.4rem;
				font-weight: 400;
				line-height: 1;
			}
			h2 {
				padding-right: 4rem;
				font-size: 2.6rem;
				font-weight: 700;
				line-height: 1.3;
				span {
					font-size: 1.8rem;
				}
			}
			.site {
				display: flex;
				align-items: center;
				height: 3.5rem;
				padding-top: 1.9rem;
				font-size: 1.6rem;
				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.6rem;
					height: 1.6rem;
					margin-left: 0.8rem;
				}
			}
		}
		&:hover {
			background-color: var(--colorLink);
			&:after {
				transform: translate(0.8rem, 0);
			}
		}
	}
}










/* company */

.companyMenu {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 3rem 2rem;
	width: 100%;
	li {
		width: calc(calc(100% - 4rem) / 3);
		padding-bottom: 1rem;
		a {
			height: 9rem;
			font-size: 2.2rem;
			img {
				width: 5.5rem;
				margin-right: 1.5rem;
			}
			span {
				font-size: 2rem;
			}
		}
		&:nth-of-type(-n+2) {
			width: calc(50% - 1.8rem);
			a {
				position: relative;
				height: 15rem;
				font-size: 2.6rem;
				text-align: left;
				overflow: hidden;
				img {
					width: 8.5rem;
					margin-right: 2rem;
				}
				p {
					position: absolute;
					top: 0;
					left: 0;
					display: flex;
					justify-content: center;
					align-items: center;
					background-color: rgba(29, 80, 162, 0.9);
					width: 100%;
					height: 100%;
					font-family: var(--font1);
					font-weight: 400;
					font-size: 1.6rem;
					line-height: 1.8;
					color: var(--colorW);
					z-index: 10;
					opacity: 0;
					transition: 0.2s ease;
				}
				&:hover {
					p {
						opacity: 1;
					}
				}
			}
		}
	}
}

.philosophyArea {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
	padding: 0 3rem;
	.box {
		position: relative;
		border-radius: 1.5rem;
		background-color: var(--colorSub);
		width: calc(50% - 2rem);
		padding: 1rem;
		z-index: 2;
		.top {
			font-size: 1.6rem;
			padding: 2rem 0;
			line-height: 1.5;
			text-align: center;
			h2 {
				margin-bottom: 1.5rem;
				font-size: 2.6rem;
				font-weight: 700;
				line-height: 1;
				letter-spacing: 0.1em;
				text-align: center;
			}
		}
		.btm {
			display: flex;
			justify-content: center;
			align-items: center;
			border-radius: 1rem;
			background-color: var(--colorW);
			padding: 3rem;
			p {
				text-align: center;
				font-size: 2rem;
				font-weight: 700;
				line-height: 1.6;
				letter-spacing: 0.08em;
				color: var(--colorMain);
			}
		}
		&:nth-of-type(1) {
			&:before {
				content: "";
				position: absolute;
				display: block;
				top: 50%;
				right: -4rem;
				background-color: var(--colorMain);
				width: 4rem;
				height: 1rem;
				margin-top: -0.5rem;
				z-index: 1;
			}
		}
		&:nth-of-type(-n+2) {
			&:after {
				content: "";
				position: absolute;
				display: block;
				left: 50%;
				bottom: -4rem;
				background-color: var(--colorMain);
				width: 1rem;
				height: 4rem;
				margin-left: -0.5rem;
				z-index: 1;
			}
		}
		&:last-of-type {
			width: 100%;
			.top {
				display: flex;
				justify-content: center;
				align-items: center;
				gap: 3rem;
				h2 {
					margin: 0;
				}
			}
			dl {
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				gap: 1.5rem 2rem;
				dt {
					display: flex;
					justify-content: center;
					align-items: center;
					border-radius: 5.4rem;
					background-color: #e9d7b7;
					width: 5.4rem;
					height: 5.4rem;
					font-size: 1.6rem;
					font-weight: 700;
					line-height: 1;
					letter-spacing: 0;
					color: var(--colorMain);
				}
				dd {
					width: calc(50% - 8.4rem);
					font-size: 1.6rem;
					font-weight: 500;
					line-height: 1.5;
					color: var(--colorMain);
				}
			}
		}
	}
}

.philosophyDeclaration {
	display: flex;
	justify-content: space-between;
	margin-top: 3rem;
	h3 {
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 1rem;
		background-color: var(--colorLink);
		width: 25rem;
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.5;
		text-align: center;
		color: var(--colorMain);
	}
	dl {
		display: flex;
		flex-wrap: wrap;
		width: calc(100% - 29rem);
		dt {
			width: 24.5rem;
			font-size: 1.8rem;
			font-weight: 700;
			line-height: 1.7;
			color: var(--colorMain);
			&:nth-of-type(2) {
				border-top: 1px solid var(--colorBorder);
				border-bottom: 1px solid var(--colorBorder);
				margin: 1.5rem 0;
				padding: 1.5rem 0;
			}
		}
		dd {
			width: calc(100% - 24.5rem);
			line-height: 1.8;
			&:nth-of-type(2) {
				border-top: 1px solid var(--colorBorder);
				border-bottom: 1px solid var(--colorBorder);
				margin: 1.5rem 0;
				padding: 1.5rem 0;
			}
		}
	}
}

.emList {
	margin-top: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
	li {
		position: relative;
		padding-left: 1em;
		&:before {
			content: "\30FB";
			position: absolute;
			top: 0;
			left: 0;
		}
	}
	&.flex {
		display: flex;
		flex-wrap: wrap;
		li {
			width: 50%;
		}
	}
}

.president {
	margin-top: 6rem;
	.day {
		font-size: 1.2rem;
		text-align: right;
	}
	.name {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 2.5rem;
		margin-top: 1.5rem;
		font-size: 1.6rem;
		font-weight: 700;
		img {
			width: 18rem;
		}
	}
}

.outlineArea {
	position: relative;
	width: 100%;
	max-width: 94rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5rem;
	padding-right: 5rem;
	z-index: 1;
	dl {
		display: flex;
		flex-wrap: wrap;
		border-top: 1px solid var(--colorBorder);
		dt {
			border-bottom: 1px solid var(--colorBorder);
			width: 16rem;
			padding: 3rem 2rem;
			font-size: 1.6rem;
			font-weight: 500;
			line-height: 1.8;
			color: var(--colorMain);
		}
		dd {
			border-bottom: 1px solid var(--colorBorder);
			width: calc(100% - 16rem);
			padding: 3rem 0;
			font-size: 1.8rem;
			line-height: 1.65;
		}
	}
	.outlineData {
		display: flex;
		justify-content: space-between;
		margin-top: 8rem;
		.title {
			width: 34rem;
		}
		.list {
			width: 46rem;
			li {
				margin-bottom: 0.5rem;
			}
			a {
				position: relative;
				display: inline-flex;
				align-items: center;
				padding-left: 2.5rem;
				font-size: 1.6rem;
				&:before {
					content: "";
					position: absolute;
					top: 0.3em;
					left: 0;
					display: block;
					background: url(../img/ar2-b.png) no-repeat center center / 1.6rem;
					width: 1.6rem;
					height: 1.6rem;
					transition: 0.2s ease;
				}
				&:hover {
					&:before {
						transform: scale(1.2,1.2);
					}
				}
			}
		}
	}
}

.approachImg {
	position: relative;
	width: 100%;
	margin-top: 1.5rem;
	img {
		position: relative;
		z-index: 1;
	}
	p {
		position: absolute;
		right: 1.5rem;
		bottom: 4rem;
		z-index: 2;
		&.btnStyle2 {
			a {
				font-size: 1.6rem;
				padding: 1.5rem 6rem 1.5rem 1.5rem;
			}
		}
	}
}

.halfColumn {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
	margin-top: 3rem;
	&.headFirst {
		margin-top: 8rem;
	}
	.box {
		width: calc(50% - 2rem);
	}
	h2, h3 {
		&:first-child {
			margin-top: 0 !important;
		}
	}
}

.healthDeclaration {
	border: 1px solid #000;
	border-radius: 1rem;
	background-color: #fff;
	width: 66rem;
	margin: 10rem auto;
	padding: 6.5rem 8rem;
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: 0.08em;
	h2 {
		margin-bottom: 4rem;
		font-size: 3rem;
		font-weight: 700;
		letter-spacing: 0.15em;
		line-height: 1;
		text-align: center;
	}
	p {
		margin-top: 3.5rem;
	}
	.name {
		margin-top: 4rem;
		font-size: 1.4rem;
		line-height: 1.7;
		letter-spacing: 0;
		text-align: right;
		strong {
			font-size: 2rem;
		}
	}
}

.healthCertificate {
	display: flex;
	width: 100%;
	margin: 10rem 0;
	div {
		width: 100%;
	}
	h3 {
		margin-bottom: 2rem;
		font-size: 2.2rem;
		font-weight: 700;
		line-height: 1.5;
		text-align: center;
	}
	img {
		display: block;
		width: auto;
		height: 41.5rem;
		margin: 0 auto;
	}
}

.ecoEv {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 3rem 0;
	.read {
		&:nth-of-type(1) {
			width: 50%;
		}
		&:nth-of-type(2) {
			width: calc(50% - 4rem);
		}
	}
	dl {
		display: flex;
		justify-content: space-between;
		gap: 2rem;
		width: 100%;
		margin-bottom: 2rem;
		font-size: 1.6rem;
		line-height: 1.75;
		dt {
			font-weight: 700;
			white-space: nowrap;
		}
	}
	.imgBox {
		margin-top: 2rem;
	}
}

.ecoPoint {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 4rem;
	border-radius: 1rem;
	background-color: var(--colorLink);
	width: 100%;
	margin: 3rem 0;
	padding: 3rem 4rem;
	line-height: 1.75;
	color: var(--colorMain);
	.read {
		align-self: flex-start;
	}
	h4 {
		background: url(../img/icon-check2.png) no-repeat left 0.2rem / 2.2rem;
		margin-bottom: 1.5rem;
		padding-left: 3.5rem;
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.4;
	}
	.btnStyle2 {
		align-self: flex-end;
		flex-shrink: 0;
		width: 25rem;
		a {
			background-color: #fff;
			padding: 1.5rem 4rem 1.5rem 2rem;
			font-size: 1.6rem;
			&:hover {
				background-color: var(--colorMain);
			}
		}
	}
	.image {
		position: relative;
		align-self: flex-end;
		flex-shrink: 0;
		width: 36rem;
	}
	.green {
		position: relative;
		align-self: flex-end;
		flex-shrink: 0;
		width: 20rem;
	}
}

.ecoLink {
	display: flex;
	border: 2px solid var(--colorLink);
	border-radius: 0.5rem;
	background-color: var(--colorLink);
	width: 100%;
	min-height: 7rem;
	margin: 14rem 0 10rem 0;
	dt {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 30rem;
		font-size: 2rem;
		font-weight: 700;
		line-height: 1;
		text-align: center;
	}
	dd {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 2rem 5rem;
		width: calc(100% - 30rem);
		background-color: #fff;
		text-align: center;
		a {
			text-decoration: none;
			color: #000;
			&:hover {
				color: var(--colorMain);
			}
		}
	}
}










/* news */

.newsHead {
	margin: 6rem 0 3rem 0;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.2;
}

.newsList {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: flex-start;
	width: 100%;
	dt {
		display: flex;
		justify-content: center;
		align-items: center;
		border: none !important;
		border-radius: 0.3rem;
		background-color: var(--colorMain);
		width: 13rem;
		height: 3.2rem;
		margin: 0 2rem 0 1rem;
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 1;
		color: var(--colorW);
		&.day {
			background-color: inherit;
			width: auto;
			height: auto;
			font-size: 1.6rem;
			font-weight: 500;
			letter-spacing: 0.05em;
			text-align: center;
			color: var(--colorMain);
		}
	}
	.day {
		font-size: 1.6rem;
		font-weight: 500;
		letter-spacing: 0.05em;
		text-align: center;
		color: var(--colorMain);
	}
	.title {
		border-bottom: 1px solid #88a3ce;
		width: 100%;
		margin: 1.2rem 0 2.5rem 0;
		padding: 0 1rem 2rem 1rem;
		font-size: 1.6rem;
		&: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.8rem;
					width: 1.8rem;
					height: 1.8rem;
					margin-left: 1rem;
					flex-shrink: 0;
				}
			}
			&[href$=".pdf"] {
				&:after {
					content: "";
					display: block;
					background: url(../img/icon-pdf.png) no-repeat center center / 1.6rem;
					width: 1.6rem;
					height: 1.6rem;
					margin-left: 1rem;
					flex-shrink: 0;
				}
			}
		}
	}
}

.pagerArea {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	margin-top: 6rem;
	ul {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0.4rem;
		li {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 4rem;
			height: 4rem;
			font-family: 'Noto Sans JP';
			font-size: 3rem;
			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: 4rem;
				height: 4rem;
				font-size: 1.6rem;
				font-weight: 700;
				line-height: 1;
				text-align: center;
				text-decoration: none;
				color: var(--colorB);
				&:hover {
					background-color: var(--colorMain);
					color: var(--colorW);
				}
			}
			&.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 {
			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 {
			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: 6rem;
	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);
		min-width: 28rem;
		min-height: 6rem;
		padding: 1.2rem 2rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.3;
		text-decoration: none;
		color: var(--colorMain);
		span {
			font-size: 1.4rem;
			font-weight: 400;
		}
		&[href$=".pdf"] {
			&:before {
				content: "";
				display: block;
				background: url(../img/icon-pdf.png) no-repeat center center / 1.6rem;
				width: 1.6rem;
				height: 1.6rem;
				margin-right: 1rem;
				flex-shrink: 0;
				transition: 0.2s ease;
			}
		}
		&:hover {
			background-color: var(--colorMain);
			color: var(--colorW);
			&[href$=".pdf"] {
				&:before {
					background-image: url(../img/icon-pdf-w.png);
				}
			}
		}
	}
}
.pageNext {
	a, button  {
		&:after {
			content: "";
			display: block;
			background: url(../img/ar-b.png) no-repeat center center / 0.9rem 1.4rem;
			width: 0.9rem;
			height: 1.4rem;
			margin-left: 1.5rem;
			flex-shrink: 0;
			transition: 0.2s ease;
		}
		&:hover {
			&:after {
				background-image: url(../img/ar-w.png);
				transform: translate(0.8rem, 0);
			}
		}
	}
}
.pagePrev {
	a {
		&:before {
			content: "";
			display: block;
			background: url(../img/ar-b.png) no-repeat center center / 0.9rem 1.4rem;
			width: 0.9rem;
			height: 1.4rem;
			margin-right: 1.5rem;
			flex-shrink: 0;
			transform: rotate(180deg);
			transition: 0.2s ease;
		}
		&:hover {
			&:before {
				background-image: url(../img/ar-w.png);
				transform: translate(-0.8rem, 0) rotate(180deg);
			}
		}
	}
}

.newsContents {
	position: relative;
	max-width: 74rem;
	margin: 0 auto;
	.days {
		display: flex;
		align-items: center;
		gap: 1.5rem;
		dt {
			display: flex;
			justify-content: center;
			align-items: center;
			border-radius: 0.3rem;
			background-color: var(--colorMain);
			width: 13rem;
			height: 3.2rem;
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1;
			color: var(--colorW);
		}
		dd {
			font-size: 1.6rem;
			font-weight: 500;
			letter-spacing: 0.05em;
			line-height: 1;
			color: var(--colorMain);
		}
		&.blog {
			dt {
				width: 17rem;
				font-size: 1.4rem;
			}
		}
	}
	h1 {
		margin: 2.5rem 0 4rem 0;
		font-size: 3.2rem;
		font-weight: 700;
		line-height: 1.6;
		& + figure {
			margin: 4rem 0;
		}
	}
}










/* blog */

.blogTitle {
	position: relative;
	background: linear-gradient(to bottom,  #d0f3ff 0%,#ffffff 80%);
	width: 100%;
	height: 25rem;
	margin: -10rem 0 6rem 0;
	padding-top: 10.5rem;
	line-height: 1.5;
	text-align: center;
	h1 {
		display: flex;
		position: relative;
		justify-content: center;
		align-items: center;
		width: 100%;
		margin-bottom: 3rem;
		font-family: var(--font2);
		font-size: 3.8rem;
		font-weight: 700;
		line-height: 1.2;
		color: var(--colorMain);
		z-index: 2;
		img {
			width: 7.6rem;
			margin-right: 2.6rem;
			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 / 140rem;
		width: 100%;
		height: 100%;
		z-index: 1;
	}
}

.blogArea {
	position: relative;
	width: 100%;
	max-width: 118rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5rem;
	padding-right: 5rem;
	z-index: 1;
}

.blogList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6rem 5rem;
	width: 100%;
	a {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		width: calc(50% - 2.5rem);
		text-decoration: none;
		font-weight: 400;
		.imgBox {
			border-radius: 0;
			width: 23rem;
			height: 17.5rem;
			padding: 0;
		}
		.read {
			width: calc(100% - 25rem);
			dl {
				display: flex;
				align-items: center;
				gap: 1.5rem;
				margin-bottom: 1rem;
				dt {
					display: flex;
					justify-content: center;
					align-items: center;
					border-radius: 0.3rem;
					background-color: var(--colorMain);
					width: 16rem;
					height: 3.2rem;
					font-size: 1.4rem;
					font-weight: 700;
					line-height: 1;
					color: var(--colorW);
				}
				dd {
					font-size: 1.6rem;
					font-weight: 500;
					letter-spacing: 0.05em;
					line-height: 1;
					letter-spacing: 0;
					color: var(--colorMain);
				}
			}
			h2 {
				font-size: 1.8rem;
				font-weight: 500;
				line-height: 1.7;
				color: var(--colorB);
			}
			p {
				margin-top: 2rem;
			}
		}
		&:hover {
			.imgBox {
				img {
					opacity: 0.5;
				}
			}
			h2 {
				font-weight: 700;
				color: var(--colorMain);
			}
		}
	}
	&.first-info {
		margin-bottom: 7rem;
		a {
			width: 100%;
			.imgBox {
				width: 58rem;
				height: 29rem;
			}
			.read {
				width: calc(100% - 62rem);
			}
		}
	}
}

.blogCategory {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem 1rem;
	width: 100%;
	margin: 6rem 0;
	dt {
		width: 100%;
		font-style: var(--font2);
		font-size: 2.2rem;
		font-weight: 700;
		line-height: 1;
	}
	dd {
		width: calc(calc(100% - 5rem) / 6);
	}
	a {
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 1rem;
		background-color: var(--colorLink);
		width: 100%;
		height: 6rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
		text-decoration: none;
		color: var(--colorB);
		&:hover {
			background-color: var(--colorMain);
			color: var(--colorW);
		}
	}
}










/* faq */

.faqMenu {
	display: flex;
	gap: 1rem;
	margin: 6rem 0 8rem 0;
	li {
		width: 100%;
		a {
			display: flex;
			justify-content: center;
			align-items: center;
			border-radius: 1rem;
			background-color: var(--colorLink);
			width: 100%;
			height: 6rem;
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1;
			text-decoration: none;
			text-align: center;
			&:hover {
				background-color: var(--colorMain);
				color: var(--colorW);
			}
		}
	}
}
.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: 8rem;
		padding: 2rem 6rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.4;
		cursor: pointer;
		transition: 0.2s ease;
		&:hover {
			background-color: var(--colorLink);
		}
		&:before {
			content: "Q";
			position: absolute;
			top: 50%;
			left: 1.5rem;
			display: block;
			width: 3rem;
			height: 3rem;
			margin-top: -1.5rem;
			font-family: var(--font2);
			font-size: 3rem;
			font-weight: 700;
			line-height: 1;
			text-align: center;
			color: var(--colorMain);
		}
		&:after {
			content: "";
			position: absolute;
			top: 50%;
			right: 2rem;
			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: 3rem 0 3.5rem 6rem;
		&:before {
			content: "A";
			position: absolute;
			top: 3rem;
			left: 1.5rem;
			display: block;
			width: 3rem;
			height: 3rem;
			font-family: var(--font2);
			font-size: 3rem;
			font-weight: 700;
			line-height: 1;
			text-align: center;
			color: var(--colorMain2);
		}
	}
	& + .faqArea {
		border-top: none;
	}
}










/* Parking */

.parkingMail {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 3rem;
	.read {
		align-self: flex-start;
		width: 48rem;
	}
}

.mailCounter {
	align-self: flex-end;
	width: 36rem;
	p {
		margin: 0;
	}
	strong {
		font-size: 1.8rem;
	}
	.pageNext {
		margin-top: 1.5rem;
		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 {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 3rem;
	.read {
		width: calc(100% - 34rem);
	}
	.image {
		width: 29rem;
	}
}

.parkingPay {
	display: flex;
	justify-content: space-between;
	gap: 4rem;
	width: 100%;
	margin-top: 3rem;
	.read {
		width: 100%;
	}
	h4 {
		font-size: 1.8rem;
		margin: 3rem 0 1.5rem 0;
	}
	table {
		margin: 0;
		td {
			padding: 1.6rem;
			font-size: 1.5rem;
		}
	}
}










/* Goods */

.goodsTop {
	display: flex;
	justify-content: space-between;
	width: 100%;
	.read {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 30rem;
		.pageNext {
			width: 100%;
			margin: 0;
			a {
				width: 100%;
			}
		}
	}
	.image {
		border-radius: 1rem;
		width: calc(100% - 37rem);
		overflow: hidden;
	}
}

.goodsList {
	display: flex;
	flex-wrap: wrap;
	gap: 6rem 4rem;
	.box {
		width: calc(50% - 2rem);
		img {
			display: block;
			border-radius: 1rem;
			overflow: hidden;
			margin-bottom: 2rem;
		}
		h3 {
			margin-bottom: 1.2rem;
			font-size: 1.8rem;
			font-weight: 700;
			letter-spacing: 0.05em;
		}
		.pageNext {
			width: 30rem;
			margin-top: 1.5rem;
			a {
				width: 100%;
			}
		}
	}
}

.goodsCounter {
	display: flex;
	gap: 2rem;
	li {
		width: 100%;
		img {
			display: block;
			border-radius: 1rem;
			overflow: hidden;
			margin-bottom: 1.5rem;
		}
		div {
			text-indent: -1em;
			padding-left: 1em;
		}
	}
}

.bnrList {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	width: 100%;
	margin: 3rem 0;
	li {
		width: calc(calc(100% - 8rem) / 5);
	}
	a {
		&:hover {
			opacity: 0.5;
		}
	}
}

.dlcList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4rem;
	margin: 1.5rem 0 4rem 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: calc(50% - 2rem);
		overflow: hidden;
		a {
			position: relative;
			display: block;
			width: 100%;
			&:after {
				content: "ダウンロード";
				position: absolute;
				bottom: 2rem;
				right: 2rem;
				display: flex;
				justify-content: center;
				align-items: center;
				border: 1px solid var(--colorMain);
				border-radius: 3rem;
				background: var(--colorW) url(../img/icon-dl-b.png) no-repeat 1.6rem center / 1.4rem;
				width: 13rem;
				height: 3rem;
				padding-left: 2.2rem;
				font-size: 1.2rem;
				font-weight: 500;
				line-height: 1;
				text-decoration: none;
				color: var(--colorMain);
				z-index: 2;
				transition: 0.2s ease;
			}
			&:hover {
				img {
					opacity: 0.5;
				}
				&:after {
					background-color: var(--colorMain);
					background-image: url(../img/icon-dl-w.png);
					color: var(--colorW);
				}
			}
		}
	}
	&.c3 {
		gap: 3rem 2rem;
		li {
			width: calc(calc(100% - 4rem) / 3);
		}
	}
}

.captureEtc {
	display: flex;
	border: 2px solid var(--colorLink);
	border-radius: 1rem;
	background-color: var(--colorW);
	margin-top: 4rem;
	dt {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 17rem;
		background-color: var(--colorLink);
		font-size: 1.8rem;
		font-weight: 700;
	}
	dd {
		width: calc(100% - 17rem);
		padding: 3rem 6rem;
		&.space {
			padding: 3rem;
		}
		p {
			margin: 1rem 0;
			&:first-child {
				margin-top: 0;
			}
			&:last-child {
				margin-bottom: 0;
			}
		}
		span {
			font-size: 1.4rem;
		}
	}
	ol {
		counter-reset: nurie;
		> li {
			position: relative;
			margin-bottom: 1.5rem;
			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 {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	.read {
		width: calc(50% - 5rem);
	}
	.image {
		border-radius: 1rem;
		width: 50%;
		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: 9rem;
		padding: 2rem 6rem 2rem 2rem;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.3;
		cursor: pointer;
		transition: 0.2s ease;
		&:after {
			content: "";
			position: absolute;
			top: 50%;
			right: 2rem;
			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);
			}
		}
		&:hover {
			background-color: var(--colorLink);
		}
	}
	.adData {
		display: none;
		border-top: 1px solid var(--colorBorder);
		width: 100%;
		padding: 4rem 0 5rem 0;
		.adInner {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			width: 100%;
			.read, .image {
				width: calc(50% - 2rem);
			}
			img {
				width: auto;
				max-width: 100%;
			}
			h5 {
				margin: 3rem 0 1.5rem;
				font-size: 1.8rem;
				line-height: 1.4;
				&:first-child {
					margin-top: 0;
				}
			}
			p, ul, ol {
				margin: 1.5rem 0;
				&:last-child {
					margin-bottom: 0;
				}
			}
		}
	}
}

.adLink {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	margin: 5rem 0 0 0;
	width: 100%;
	li {
		width: calc(calc(100% - 4rem) / 3);
		a {
			position: relative;
			display: flex;
			align-items: center;
			gap: 1rem;
			border-radius: 1rem;
			background-color: var(--colorLink);
			width: 100%;
			min-height: 13rem;
			padding: 2rem 5rem 2rem 3rem;
			font-size: 2.2rem;
			font-weight: 700;
			line-height: 1.3;
			text-decoration: none;
			img {
				display: block;
				border-radius: 7.8rem;
				width: 7.8rem;
				height: 7.8rem;
				overflow: hidden;
				flex-shrink: 0;
			}
			em {
				display: block;
				margin-bottom: 0.5rem;
				font-size: 1.6rem;
				font-weight: 700;
				line-height: 1.4;
			}
			&:after {
				content: "";
				position: absolute;
				top: 50%;
				right: 2.5rem;
				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;
			}
			&:hover {
				background-color: var(--colorMain);
				color: var(--colorW);
				&:after {
					background-image: url(../img/ar-w.png);
					right: 1.8rem;
				}
			}
		}
	}
}

.adNote {
	display: flex;
	justify-content: space-between;
	gap: 4rem;
	.box {
		width: 100%;
		.headStyle1 {
			font-size: 2.6rem;
		}
	}
	h4 {
		margin: 3rem 0 1rem 0;
		font-size: 1.8rem;
		font-weight: 700;
		line-height: 1.4;
		&:first-child {
			margin-top: 0;
		}
	}
	p {
		margin: 1.5rem 0;
		&:first-child {
			margin-top: 0;
		}
		&:last-child {
			margin-bottom: 0;
		}
	}
	ol {
		counter-reset: ad;
		margin: 2rem 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%;
	height: 31rem;
	margin: -10rem 0 10rem 0;
	padding-top: 7rem;
	.titleArea {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		width: 100%;
		max-width: 78rem;
		margin: 0 auto;
		div {
			width: 38rem;
		}
		h1 {
			width: 39rem;
			margin: 0;
			padding: 0;
			img {
				width: 39rem;
			}
		}
	}
	&:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		background: url(../img/character/character-title-bg.png) no-repeat center top / 140rem;
		width: 100%;
		height: 100%;
		z-index: 1;
	}
}

.characterData {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 106rem;
	margin: 0 auto;
	.character1, .character2 {
		width: 50%;
		.chara {
			width: 100%;
			display: flex;
			justify-content: space-between;
			.data {
				width: 21rem;
				font-size: 1.4rem;
				line-height: 1.6;
				color: #2069d6;
				white-space: nowrap;
				h2 {
					width: 20rem;
					border-radius: 6rem;
					background-color: #2069d6;
					margin-bottom: 2rem;
					padding: 1.5rem 0;
					font-family: var(--font2);
					font-size: 2.9rem;
					font-weight: 700;
					line-height: 1;
					text-align: center;
					color: var(--colorW);
				}
			}
			.image {
				width: 31rem;
				padding: 0 1.5rem;
			}
		}
		.comment {
			position: relative;
			border: 3px solid #2069d6;
			border-radius: 2rem;
			background-color: var(--colorW);
			margin: 5rem 4rem 0 6rem;
			padding: 3rem 2.5rem;
			font-size: 1.5rem;
			font-weight: 500;
			line-height: 1.8;
			strong {
				display: block;
				margin-bottom: 0.8rem;
				font-family: var(--font2);
				font-size: 2rem;
				font-weight: 700;
				line-height: 1.4;
				color: #2069d6;
				transform: rotate(0.03deg);
			}
			&: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 {
			flex-direction: row-reverse;
			.data {
				color: #f65fa9;
				h2 {
					background-color: #f65fa9;
				}
			}
		}
		.comment {
			border: 3px solid #f65fa9;
			margin: 5rem 6rem 0 4rem;
			strong {
				color: #f65fa9;
			}
			&:before {
				left: 7.5rem;
				right: inherit;
				clip-path: polygon(90% 0, 100% 0, 100% 100%, 0% 100%);
				background-color: #f65fa9;
			}
			&:after {
				top: -2.1rem;
				left: 7.2rem;
				right: inherit;
				clip-path: polygon(100% 0, 0% 100%, 100% 100%);
			}
		}
	}
}

.nurieTitle {
	display: flex;
	align-items: center;
	gap: 2rem;
	margin: 10rem 0 2rem 0;
	font-size: 1.6rem;
	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: 16rem;
		height: 5rem;
		font-family: var(--font2);
		font-size: 2.9rem;
		font-weight: 700;
		line-height: 1;
		color: var(--colorW);
	}
}










/* Feedback */

.feedbackMenu {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem 4rem;
	li {
		width: calc(50% - 2rem);
		a {
			position: relative;
			display: flex;
			align-items: center;
			gap: 1rem;
			border-radius: 1rem;
			background-color: var(--colorLink);
			width: 100%;
			padding: 2rem 7rem 2rem 3rem;
			font-size: 1.6rem;
			font-weight: 400;
			line-height: 1.7;
			text-decoration: none;
			img {
				display: block;
				border-radius: 7.8rem;
				width: 7.8rem;
				height: 7.8rem;
				overflow: hidden;
				flex-shrink: 0;
			}
			strong {
				display: block;
				margin-bottom: 0.5rem;
				font-size: 2.2rem;
				font-weight: 700;
				line-height: 1.4;
				letter-spacing: 0.05em;
			}
			&:after {
				content: "";
				position: absolute;
				top: 50%;
				right: 2.5rem;
				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;
			}
			&:hover {
				background-color: var(--colorMain);
				color: var(--colorW);
				&:after {
					background-image: url(../img/ar-w.png);
					right: 1.8rem;
				}
			}
			&[target="_blank"] {
				background-color: #eaccdb;
				&:after {
					background-image: url(../img/ar-r.png);
				}
				&:hover {
					background-color: #ba3872;
					&:after {
						background-image: url(../img/ar-w.png);
					}
				}
			}
		}
	}
}

.feedbackForm {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 3rem 1rem;
	width: 100%;
	margin: 4rem 0;
	.required {
		color: var(--colorRed);
		font-weight: 700;
	}
	dt {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		width: calc(25% - 0.5rem);
		min-height: 3.2rem;
		padding-top: 0.2rem;
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1.6;
		span {
			display: block;
			width: 100%;
			font-size: 1.3rem;
			font-weight: 400;
		}
		&.tl {
			justify-content: flex-start;
		}
		&.tr {
			justify-content: flex-end;
		}
	}
	dd {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		width: calc(75% - 0.5rem);
		font-size: 1.6rem;
		line-height: 1.6;
		&.half {
			width: calc(25% - 1rem);
		}
		p, span {
			display: block;
			width: 100%;
			margin-top: 0.6rem;
			font-size: 1.3rem;
			font-weight: 400;
		}
		.name {
			display: flex;
			justify-content: space-between;
			align-items: center;
			width: 24rem;
			margin-right: 4rem;
			font-size: 1.6rem;
			font-weight: 500;
			line-height: 1.6;
			input {
				width: 20rem;
			}
		}
	}
	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;
		font-size: 1.5rem;
		&:focus {
			background-color: var(--colorSub);
		}
		&.mini {
			width: 20rem;
		}
	}
	select {
		background: var(--colorW) url(../img/ar-select.png) no-repeat calc(100% - 1rem) center / 1.6rem;
		padding-right: 3rem;
		width: 20rem;
		padding: 0.5rem 1rem;
	}
	textarea {
		height: 25.6rem;
		padding: 1rem;
	}
	label {
		margin-right: 4rem;
		input[type="radio"] {
			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-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.8rem;
	font-weight: 700;
	.required {
		color: var(--colorRed);
		font-weight: 700;
	}
}
.subInner:has(.feedbackForm) {
	padding: 0 5rem;
}










/* Sitemap */

.sitemapArea {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 7rem;
	.logo {
		width: 21.2rem;
	}
	.sitemapLink {
		width: calc(100% - 30rem);
		.top {
			border-bottom: 1px solid var(--colorBorder);
			margin-bottom: 1rem;
			a {
				display: flex;
				align-items: center;
				height: 4.5rem;
				font-size: 2rem;
				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 / 1rem 1.6rem;
					width: 1rem;
					height: 1.6rem;
					margin-left: 1rem;
					transition: 0.2s ease;
				}
				&:hover {
					color: var(--colorMain);
					&:after {
						margin-left: 1.5rem;
					}
				}
			}
		}
		.linkArea {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			align-items: flex-start;
			div {
				width: 50%;
				&.wide {
					width: 100%;
				}
			}
			.linkList {
				display: block;
				margin: 0;
				li {
					width: 100%;
					margin-top: 1.6rem;
					a {
						font-weight: 700;
					}
					.subList {
						padding-left: 2.4rem;
						li {
							margin-top: 0.6rem;
							a {
								padding: 0;
								font-size: 1.2rem;
								font-weight: 500;
								&:before {
									display: none;
								}
							}
							li {
								padding-left: 1em;
							}
						}
					}
				}
			}
		}
	}
}





/* 404 */

.page404 {
	background: #e1e7f3 url(../img/page-404.png) no-repeat 85% 12.5rem / 12.8rem;
	padding: 10rem 0 6rem 0;
	text-align: center;
	h1 {
		margin-bottom: 2.5rem;
		font-size: 3.2rem;
		font-weight: 700;
		line-height: 1.8;
		span {
			display: block;
			font-size: 1.8rem;
		}
	}
	.btn404 {
		display: flex;
		justify-content: center;
		gap: 4rem;
		margin-top: 6rem;
		a {
			position: relative;
			display: flex;
			align-items: center;
			border: 2px solid var(--colorMain);
			border-radius: 1rem;
			background-color: var(--colorW);
			width: 28rem;
			height: 6rem;
			padding: 1rem 2rem;
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1.2;
			text-decoration: none;
			color: var(--colorMain);
			&:after {
				content: "";
				position: absolute;
				top: 50%;
				right: 2.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;
				transition: 0.2s ease;
			}
			&:hover {
				background-color: var(--colorMain);
				color: var(--colorW);
				&:after {
					right: 1.5rem;
					background-image: url(../img/ar-w.png);
				}
			}
			&[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;
				}
				&:hover {
					&:after {
						right: 1.5rem;
						background-image: url(../img/icon-blank2-w.png);
					}
				}
			}
		}
	}
	& + .pageFooter {
		background-image: url(../img/page-fotter-404.png);
		&:after {
			background-image: url(../img/page-fotter-bus-404.png);
		}
	}
}