@charset "UTF-8";

/*about
----------------------------------------*/
.about_inner {
	max-width: 100.4rem;
	margin: 0 auto;
}
@media only screen and (max-width: 768px) {
	.about_inner {
		margin: 0 2rem;
	}
}

/*what
----------------------------------------*/
.about_what {
	margin: 10.9rem 0 15.6rem;
}
.about_what::before {
	content: '';
	display: block;
	background: url(../../img/about/bg_01.svg) no-repeat left top / 100% auto;
	width: 75.1369rem;
	height: 33.25rem;
	position: absolute;
	top: -5rem;
	left: -8.1rem;
}
.about_what_box {
	width: 52.6rem;
	margin: 0 0 0 2rem;
}
.about_what_box::before {
	content: '';
	display: block;
	background: url(../../img/about/icon_01.svg) no-repeat left top / 100% auto;
	width: 5.3895rem;
	height: 5.1321rem;
	position: absolute;
	top: -2rem;
	left: -3.8rem;
}
.about_what_box h2 {
	font-size: 3rem;
	font-weight: 500;
	margin-bottom: 1.2rem;
}
.about_what_box p {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.1875;
}
.about_what figure {
	width: 41.5rem;
	position: absolute;
	right: .4rem;
	top: -6.6rem;
}
@media only screen and (max-width: 768px) {
	.about_what {
		margin: 5rem 0 10rem;
	}
	.about_what::before {
		transform: scale(.93);
		top: -4rem;
		left: -8rem;
	}
	.about_what_box {
		width: auto;
		margin: 0 0 0 1rem;
	}
	.about_what_box::before {
		width: 3.5rem;
		height: 3.5rem;
		top: -1rem;
		left: -2.8rem;
	}
	.about_what_box h2 {
		font-size: 2rem;
		margin-bottom: 1rem;
	}
	.about_what_box p {
		font-size: 1.4rem;
		letter-spacing: -.009em;
	}
	.about_what figure {
		width: auto;
		position: relative;
		right: auto;
		top: auto;
		margin-top: 2rem;
	}
}

/*work
----------------------------------------*/
.about_work {
	margin-bottom: 13.2rem;
}
.about_work::before {
	content: '';
	display: block;
	background: url(../../img/about/bg_02.svg) no-repeat left top / 100% auto;
	width: 81.3223rem;
	height: 40.579rem;
	position: absolute;
	top: -5rem;
	right: .3rem;
}
.about_work_box {
	width: 33.8rem;
	margin: 0 11.4rem 0 auto;
}
.about_work_box::before {
	content: '';
	background: url(../../img/about/icon_02.svg) no-repeat left top / 100% auto;
	width: 5.0056rem;
	height: 5.8089rem;
	position: absolute;
	top: -2.3rem;
	left: -2.5rem;
}
.about_work_box h2 {
	font-size: 3rem;
	font-weight: 500;
	margin-bottom: 1.2rem;
}
.about_work_box p,
.about_work_box ul {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.1875;
}
.about_work_box ul li {
	padding-left: 2.6rem;
}
.about_work_box ul span {
	position: absolute;
	top: .7rem;
	left: 0;
	width: 2.3rem;
	height: 2.3rem;
	padding-bottom: .2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(150, 209, 231, .5);
	border-radius: 50%;
	font-size: 1.6rem;
	font-weight: 700;
}
.about_work figure {
	width: 43.8rem;
	position: absolute;
	top: -6.2rem;
	left: 2.3rem;
}
@media only screen and (max-width: 768px) {
	.about_work {
		margin-bottom: 8rem;
	}
	.about_work::before {
		transform: scale(.9);
		top: -7rem;
		right: -5rem;
	}
	.about_work_box {
		margin: 0 0 0 1rem;
	}
	.about_work_box::before {
		width: 3.5rem;
		height: 4rem;
		top: -1.5rem;
		left: -2rem;
	}
	.about_work_box h2 {
		font-size: 2rem;
		margin-bottom: 1rem;
	}
	.about_work_box p,
	.about_work_box ul {
		font-size: 1.4rem;
	}
	.about_work_box ul li {
		padding-left: 2.4rem;
	}
	.about_work_box ul span {
		top: .6rem;
		width: 2rem;
		height: 2rem;
		font-size: 1.4rem;
	}
	.about_work figure {
		width: auto;
		position: relative;
		top: auto;
		left: auto;
		margin-top: 2rem;
	}
}

/*howto
----------------------------------------*/
.about_howto {
	margin-bottom: 14.1rem;
}
.about_howto::before {
	content: '';
	display: block;
	background: url(../../img/about/bg_03.svg) no-repeat left top / 100% auto;
	width: 87.2444rem;
	height: 36.4025rem;
	position: absolute;
	top: -3.3rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: -1;
}
.about_howto h2 {
	font-size: 3rem;
	font-weight: 500;
	margin: 0 0 5rem -.6rem;
}
.about_howto h2::before {
	content: '';
	display: block;
	background: url(../../img/about/icon_03.svg) no-repeat left top / 100% auto;
	width: 4.3499rem;
	height: 4.3102rem;
	position: absolute;
	left: -2.8rem;
	top: -1.7rem;
	z-index: -1;
}
.about_howto_list {
	display: flex;
	margin-left: -.3rem;
}
.about_howto_list h3 {
	margin-bottom: .5rem;
}
.about_howto_list h3 > span:nth-child(1) {
	display: block;
	font-size: 1.7rem;
}
.about_howto_list h3 > span:nth-child(1)::before {
	content: '';
	display: block;
	background: url(../../img/about/bg_line_01.svg) no-repeat left top / 100% auto;
	width: 6.8136rem;
	height: .8051rem;
	position: absolute;
	bottom: .6rem;
	left: -.4rem;
	z-index: -1;
}
.about_howto_list h3 > span:nth-child(1) span {
	font-size: 3rem;
	margin-left: .2rem;
}
.about_howto_list h3 > span:nth-child(2) {
	font-size: 2rem;
	display: block;
	margin-top: .9rem;
}
.about_howto_list li:nth-child(1) {
	width: 24rem;
}
.about_howto_list li:nth-child(2) {
	width: 25.8rem;
	margin-left: 11.9rem;
}
.about_howto_list li:nth-child(3) {
	width: 27.5rem;
	margin-left: 11.3rem;
}
.about_howto_list li + li::before {
	content: '';
	display: block;
	background: url(../../img/about/icon_04.svg) no-repeat left top / 100% auto;
	width: 3.6585rem;
	height: 4.2436rem;
	position: absolute;
	top: 6.9rem;
	left: -8.5rem;
}
.about_howto_list li + li:nth-child(3)::before {
	left: -7.6rem;
}
.about_howto_list li:nth-child(1) figure {
	width: 12.2rem;
	position: absolute;
	top: -2rem;
	right: 1.9rem;
}
.about_howto_list li:nth-child(2) figure {
	width: 11rem;
	position: absolute;
	top: -2.7rem;
	right: 1.2rem;
}
.about_howto_list li:nth-child(3) figure {
	width: 14.2rem;
	position: absolute;
	top: -2.1rem;
	right: -1.8rem;
}
.about_howto_list li p {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.1875;
}
@media only screen and (max-width: 768px) {
	.about_howto {
		margin-bottom: 10rem;
	}
	.about_howto::before {
		top: -6rem;
		left: 34rem;
		right: auto;
		margin: 0;
		transform-origin: left top;
		transform: rotate(90deg);
	}
	.about_howto h2 {
		font-size: 2rem;
		margin: 0 2rem 5rem;
	}
	.about_howto h2::before {
		width: 3.5rem;
		height: 3.5rem;
		top: -1.5rem;
	}
	.about_howto_list {
		display: block;
		margin: 0 2rem;
	}
	.about_howto_list li:nth-child(2) {
		margin: 7rem 0 0;
	}
	.about_howto_list li:nth-child(3) {
		margin: 7rem 0 0;
	}
	.about_howto_list li + li::before,
	.about_howto_list li + li:nth-child(3)::before {
		top: -7rem;
		left: 12rem;
		transform: rotate(90deg) scale(.8);
	}
	.about_howto_list li:nth-child(1) figure {
		right: -3rem;
	}
	.about_howto_list li:nth-child(2) figure {
		right: -1.8rem;
	}
}

/*info
----------------------------------------*/
.about_info h2 {
	text-align: center;
	font-size: 3rem;
	font-weight: 500;
	margin-bottom: 1.9rem;
}
.about_info_txt {
	text-align: center;
	font-size: 1.6rem;
	line-height: 2.1875;
	font-weight: 500;
	margin-bottom: 2.8rem;
}
.about_info_box {
	display: flex;
	justify-content: space-between;
}
.about_info_item {
	width: 48rem;
}
.about_info_ttl_wrap {
	display: flex;
	align-items:center;
	gap: 1rem;
	flex-wrap: wrap;
}
.about_info_item h3 {
	font-size: 2rem;
	margin-bottom: .6rem;
}
.about_info_notice {
	display: inline-block;
	background: #E85383;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: .04em;
	padding: .2rem 1rem;
	border-radius: .4rem;
	margin-bottom: .6rem;
}
.about_info_note {
	display: inline-block;
	color: #E85383;
	font-size: 1.4rem;
	letter-spacing: .04em;
}
.about_info_item:not(:has(.about_info_note)) .about_info_map {
	margin-top: 4.2rem;
}
.about_info_img {
	width: 100%;
	overflow: hidden;
	border-radius: 1rem;
	margin-bottom: 2rem;
}
.about_info_img .swiper-pagination-bullet {
	background: #fff;
	margin: 0 .2rem !important;
	opacity: 1;
}
.about_info_img .swiper-pagination-bullet-active {
	background: #4AC0F0;
}
.about_info_item dl {
	display: grid;
	grid-template-columns: 11.2rem auto;
	gap: .8rem 0;
	margin-bottom: 1.9rem;
}
.about_info_item dt {
	font-size: 1.5rem;
	letter-spacing: .05em;
	line-height: 1.5333;
	font-weight: 700;
}
.about_info_item dd {
	font-size: 1.5rem;
	letter-spacing: .05em;
	line-height: 1.5333;
}
.about_info_map {
	border-radius: 1rem;
	overflow: hidden;
	margin-bottom: 2rem;
}
.about_info_map iframe {
	border: 0;
	width: 100%;
	height: 25rem;
	display: block;
}
.about_info_access h4 {
	position: relative;
	color: #4AC0F0;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.33;
}
.about_info_access h4.train {
	padding-left: 2.6rem;
}
.about_info_access h4.bus {
	padding-left: 2.5rem;
}
.about_info_access h4.train::before {
	content: '';
	position: absolute;
	display: block;
	background: url(../../img/access/icon_access_01.svg) no-repeat left top / 100% auto;
	width: 1.6rem;
	height: 2.2rem;
	left: .1rem;
	margin-left: .2rem;
}
.about_info_access h4.bus::before {
	content: '';
	position: absolute;
	display: block;
	background: url(../../img/access/icon_access_02.svg) no-repeat left top / 100% auto;
	width: 2rem;
	height: 2.1rem;
	left: 0;
}
.about_info_access p {
	margin-top: .7rem;
	font-size: 1.5rem;
	letter-spacing: .05em;
	line-height: 1.66;
	margin-left: 2.6rem;
}
.about_info_access p + h4 {
	margin-top: 1rem;
}
@media only screen and (max-width: 768px) {
	.about_info h2 {
		font-size: 2rem;
	}
	.about_info_txt {
		font-size: 1.4rem;
	}
	.about_info_box {
		display: block;
	}
	.about_info_item {
		width: auto;
	}
	.about_info_item + .about_info_item {
		margin-top: 5rem;
	}
	.about_info_item h3 {
		font-size: 1.8rem;
	}
	.about_info_item dl {
		grid-template-columns: 8rem auto;
	}
	.about_info_item dt {
		font-size: 1.4rem;
	}
	.about_info_item dd {
		font-size: 1.4rem;
		letter-spacing: 0;
	}
	.about_info_map iframe {
		height: 22rem;
	}
	.about_info_item:not(:has(.about_info_note)) .about_info_map {
		margin-top: 0;
	}
	.about_info_note {
		font-size: 1.3rem;
	}
	.about_info_access h4 {
		font-size: 1.4rem;
	}
	.about_info_access p {
		font-size: 1.4rem;
		letter-spacing: 0;
	}
}

/*message
----------------------------------------*/
.about_message {
	padding: 18.1rem 0 7.4rem;
	margin-bottom: 11rem;
}
.about_message::before {
	content: '';
	display: block;
	position: absolute;
	top: -2rem;
	left: -4rem;
	right: -4rem;
	bottom: 0;
	border-radius: 0 0 39.8rem 39.8rem;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
}
.about_message_inner::before,
.about_message_inner::after {
	content: '';
	display: block;
	background: url(../../img/about/message_bg_01.svg) no-repeat left top / 100% auto;
	width: 25.7916rem;
	height: 42.6209rem;
	position: absolute;
	top: -4rem;
	left: -16.4rem;
}
.about_message_inner::after {
	background-image: url(../../img/about/message_bg_02.svg);
	width: 4.3296rem;
	height: 4.3419rem;
	position: absolute;
	top: 6.3rem;
	left: auto;
	right: 2.6rem;
}
.about_message h2 {
	text-align: center;
	font-size: 3rem;
	font-weight: 500;
	margin-bottom: 1.9rem;
}
.about_message h2 span {
	display: block;
	font-size: 5rem;
	color: #4AC0F0;
	font-weight: 400;
	margin-bottom: .9rem;
}
.about_message p {
	text-align: center;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.1875;
}
.about_message p span {
	display: inline-block;
}
.about_message p span::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: .2rem;
	border-bottom: .1rem dotted #000;
}
.about_message p:last-child {
	margin-top: 3rem;
	font-weight: 700;
}
@media only screen and (max-width: 768px) {
	.about_message {
		padding: 10rem 0 6rem;
		margin-bottom: 8rem;
	}
	.about_message::before {
		content: '';
		display: block;
		position: absolute;
		top: -2rem;
		left: -2rem;
		right: -2rem;
		bottom: 0;
		border-radius: 0 0 10rem 10rem;
	}
	.about_message_inner::before,
	.about_message_inner::after {
		transform: scale(.85) rotate(-10deg);
		transform-origin: left top;
		top: .5rem;
		left: -20rem;
	}
	.about_message_inner::after {
		top: 7rem;
		left: auto;
		right: -2rem;
		transform: scale(.85);
	}
	.about_message h2 {
		font-size: 2rem;
	}
	.about_message h2 span {
		font-size: 4rem;
	}
	.about_message p {
		font-size: 1.4rem;
	}
	.about_message p:last-child {
		margin-top: 2.5rem;
	}
}