@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url("https://cdn.jsdelivr.net/npm/remixicon@4.7.0/fonts/remixicon.min.css");

/* ========================================
   RESET & BASE STYLES
======================================== */
* {
	scroll-behavior: auto !important;
}

html,
body {
	width: 100%;
	height: 100%;
	scroll-behavior: auto;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: normal;
	font-style: normal;
	font-size: 12px;
}



ul,ol{
	padding-left: 1.5em;
	margin: 0;
}

main{
	overflow-x: hidden;
}



/* ========================================
   ANIMATIONS
======================================== */
@keyframes up {
	0% {
		top: 100%;
	}

	100% {
		top: 0;
	}
}

@keyframes fadeUp {
	0% {
		top: 30px;
		opacity: 0;
	}

	100% {
		top: 0;
		opacity: 1;
	}
}

@keyframes fade {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes rotateAnimation {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes marquee {
	0% {
		transform: translate(-6104px);
	}

	100% {
		transform: translate(-7630px);
	}
}

@keyframes marqueeSP {
	0% {
		transform: translate(-2744px);
	}

	100% {
		transform: translate(-3430px);
	}
}

.fadeUp {
	opacity: 0;
	position: relative;
}

.fadeUp.on {
	animation: fadeUp 0.8s ease;
	animation-fill-mode: forwards;
}



/* ========================================
   COMMON COMPONENTS
======================================== */
.section_header {
	margin-bottom: 40px;
	display: flex;
	justify-content: space-between;
	align-items: end;
}

.section_title .ja {
	display: inline-block;
	font-family: 'Noto Sans JP';
	font-weight: 500;
	font-size: 24px;
	line-height: 180%;
	color: #E4444A;
	padding-bottom: 10px;
	position: relative;
	margin-bottom: 10px;
	opacity: 0;
	transition: opacity 0.8s ease;
}

.section_title .ja::after {
	position: absolute;
	display: block;
	content: '';
	height: 4px;
	width: 100%;
	bottom: 0px;
	left: 0;
	background: #E4444A;
}

.section_title .en {
	font-family: 'Poppins';
	font-weight: 400;
	font-size: 96px;
	line-height: 120%;
	text-align: justify;
	color: #FFFFFF;
}

.section_title .en .char {
	display: inline-block;
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Animation States */
section.on .section_title .ja {
	opacity: 1;
}

section.on .section_title .en .char {
	opacity: 1;
	transform: translateY(0);
}








/* ========================================
   BUTTONS & INTERACTIVE ELEMENTS
======================================== */
.viewmore>a {
	padding: 16px 72px 16px 32px;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	border: 1px solid #FFFFFF;
	border-radius: 1000px;
	font-family: 'Poppins';
	font-weight: 500;
	font-size: 20px;
	line-height: 180%;
	color: #FFFFFF;
	text-decoration: none;
	position: relative;
	transition: background-color 0.3s;
	overflow: hidden;
	width: fit-content;
}

.viewmore>a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .7s cubic-bezier(.19, 1, .22, 1);
	background: #fff;
	z-index: -1;
}

.viewmore>a:hover:before {
	transform: scaleX(1);
	transform-origin: left;
}


@media screen and (min-width: 767.5px) {
	.viewmore>a:hover {
		background: #FFF;
		color: #1B1037;
	}
}

.arrow_circle {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	right: 16px;
	width: 40px;
	height: 40px;
	background: #458FD5;
	border-radius: 100px;
}

.arrow_circle:before {
	display: block;
	content: '';
	width: 8px;
	height: 8px;
	background: #FFFFFF;
	border-radius: 100px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	transition: all 0.3s;
}


.arrow_circle::after {
	display: block;
	content: '';
	width: 40px;
	height: 40px;
	border-radius: 100px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	transition: opacity 0.3s;
	background: url('../images/nav_contact_arrow.svg') no-repeat center center;
	opacity: 0;
}

@media screen and (min-width: 767.5px) {
	a:hover>.arrow_circle::before {
		width: 40px;
		height: 40px;
		background: #E4444A;
	}

	a:hover>.arrow_circle::after {
		opacity: 1;
	}
}



/* ========================================
   HEADER
======================================== */

header {
	z-index: 100;
	/* position: fixed; */
	position: relative;
	width: 100%;
	display: flex;
	justify-content: space-between;
	/* padding: 20px 40px; */
	animation: fade 0.8s ease;
	animation-delay: 1.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

header .logo{
	width: 75px;
	position: fixed;
	top: 20px;
	left:  40px;
}
header .logo a{
	transition: 0.2s;
}
header .logo a:hover{
	opacity: 0.7;
}

header .menu {
	/* position: relative; */
	position: fixed;
	top: 20px;
	right: 40px;
	z-index: 100;
}

header .menu>nav {
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(12px);
	border-radius: 100px;
	padding: 16px 12px 16px 40px;
	display: flex;
	align-items: center;
	gap: 40px;
}

header nav>div {
	position: relative;
}

header nav>div.menu_sub:hover .menu_sub_inner {
	display: flex;
	opacity: 1;
	transition: opacity 0.3s;
}

header nav>div>a {
	text-decoration: none;
	font-family: 'Poppins';
	font-weight: 500;
	font-size: 18px;
	line-height: 250%;
	color: #151515;
	transition: color 0.3s;
}



header .nav_contact {
	color: #fff;
	padding: 12px 72px 12px 24px;
	height: 50px;
	background: linear-gradient(90deg, #49447C 0%, #458FD5 100%);
	border-radius: 100px;
	position: relative;
}

@media screen and (min-width: 767.5px) {
	header nav>div>a:hover {
		color: #E4444A;
	}
	header .nav_contact:hover {
		background: #FFF;
		color: #49447C;
	}
}

header .menu_sub_inner {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 16px;
	gap: 8px;
	background: #FFFFFF;
	top: 40px;
	left: 50%;
	transform: translateX(-50%);
	display: none;
}

.menu_sub_inner a {
	white-space: nowrap;
	display: block;
	/* body-md-EN */
	font-family: 'Poppins' , 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 16px;
	line-height: 180%;
	/* ボックスの高さと同一、または29px */
	text-align: justify;
	color: #151515;
	text-decoration: none;
	transition: color 0.3s;
}

.menu_sub_inner a:hover {
	color: #E4444A;
}







/* ========================================
   SIDE TAB
======================================== */
.sidetab {
	position: fixed;
	bottom: 74px;
	right: -349px;
	z-index: 99;
	transition: all 0.3s;
}

.sidetab.open {
	right: 0;
}

.sidetab>div {
	position: absolute;
	bottom: 0;
	right: 0;
}

.sidetab>div>.container {
	display: flex;
}

.sidetab .open {
	display: none;
}

.sidetab .close {
	display: block;
}

.sidetab.open .open {
	display: block;
}

.sidetab.open .close {
	display: none;
}



.sidetab .tab {
	background: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0px 8px;

	width: 48px;
	height: 272px;

	background: #E4444A;
	box-shadow: 0px 9px 16px rgba(0, 0, 0, 0.08);
	border-radius: 8px 0px 0px 8px;
	cursor: pointer;
}

.sidetab .open .tab {
	background: #49447c;
}

.sidetab .close .tab img {
	transform: rotate(180deg);
}

.sidetab .close .tab {
	background: #E4444A;
}

.sidetab .tab img {
	display: block;
	margin-bottom: 26px;
}

.sidetab .tab .text {
	color: #fff;
	/* body-lg-EN */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 18px;
	line-height: 180%;
	/* または32px */
	text-align: center;

	color: #FFFFFF;

	transform: rotate(90deg);
	margin-bottom: 20px;
}


.sidetab .content {
	padding: 24px 20px;
	width: 349px;
	height: 272px;

	background: #49447C;
	color: #fff;
}

.sidetab .content .text {
	/* body-lg-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	font-size: 18px;
	line-height: 180%;
	/* または32px */
	text-align: center;
	margin-bottom: 16px;
}


.sidetab .content .button {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
}

.sidetab .content .button>a {
	position: relative;
	box-sizing: border-box;

	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 12px 12px 12px 24px;
	gap: 16px;

	width: 240px;
	height: 64px;

	background: #FFFFFF;
	border: 1px solid #49447C;
	border-radius: 8px;

	/* body-lg-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	font-size: 18px;
	line-height: 180%;
	/* または32px */
	text-align: justify;

	color: #49447C;

	text-decoration: none;
	transition: background-color 0.3s;
}

.sidetab .content .button>a.reserve {
	color: #E4444A;
}







/* ========================================
   FOOTER
======================================== */
footer {
	background: url(../images/footer_bg.webp) no-repeat center;
	background-size: cover;
	/*background: rgba(27, 16, 55, 0.7);
	backdrop-filter: blur(8px);*/
	/* 注: backdrop-filterのブラウザサポートは最小限です */
	padding: 60px 0 24px;
}

footer .inner{
	padding: 0 40px;
}

footer .logo{
	width: 75px;
}
footer .logo a{
	transition: 0.2s;
}
footer .logo a:hover{
	opacity: 0.7;
}

footer .text {
	display: flex;
	overflow: hidden;
	margin-bottom: 60px;
}

footer .contact {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	padding: 64px 80px;
	gap: 24px;

	width: 100%;
	max-width: 1440px;
	height: 248px;

	background: linear-gradient(90deg, #49447C 0%, #458FD5 100%);
	border-radius: 8px;

	margin: 0 auto 64px;

	color: #fff;
}

footer .contact .title .en {
	/* H2-EN */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 48px;
	line-height: 120%;
	/* ボックスの高さと同一、または58px */
	text-align: justify;
}

footer .contact .title .ja {
	/* H5-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 20px;
	line-height: 150%;
	/* ボックスの高さと同一、または30px */
}

footer .contact .tel .time {
	/* body-md-EN */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 16px;
	line-height: 180%;
	/* ボックスの高さと同一、または29px */
	text-align: center;
}

footer .contact .tel .number {
	white-space: nowrap;
	/* H2-EN */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 48px;
	line-height: 120%;
	/* ボックスの高さと同一、または58px */
}

footer .contact .tel .number img {
	display: inline-block;
	margin-right: 10px;
}


footer .contact .mail a {
	/* H3-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 32px;
	line-height: 180%;
	/* ボックスの高さと同一、または58px */

	/* オートレイアウト */
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 32px 80px;
	gap: 8px;


	background: rgba(21, 21, 21, 0.1);
	border-radius: 1000px;
	color: #fff;
	text-decoration: none;

	position: relative;
	z-index: 1;
	overflow: hidden;
}

footer .contact .mail a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .7s cubic-bezier(.19, 1, .22, 1);
	background: #E4444A;
	z-index: -1;
}

@media screen and (min-width: 767.5px) {
	footer .contact .mail a:hover::before {
		transform: scaleX(1);
		transform-origin: left;
	}
}

footer .information {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 24px;

	width: 100%;
	max-width: 1440px;

	color: #fff;
	margin: 0 auto 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid #B0B0B0;
}

footer .information .name {
	/* H5-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 20px;
	line-height: 150%;
	/* ボックスの高さと同一、または30px */
}

footer .information .address {
	display: flex;
	gap: 24px;

	/* body-sm-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 14px;
	line-height: 180%;
	/* または25px */
}

footer .bottom {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 24px;

	width: 100%;
	max-width: 1440px;

	color: #fff;
	margin: 0 auto 40px;
}

footer .bottom .copyright {
	/* body-sm-EN */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 14px;
	line-height: 180%;
	/* または25px */

	color: #B0B0B0;
}

footer .bottom .link .submenu {
	display: flex;
	gap: 24px;
	align-items: center;
}

footer .bottom .link .submenu a {
	color: #fff;
	text-decoration: none;
}

footer .bottom .link .submenu a img {
	display: inline-block;
	margin-left: 10px;
}

footer .bottom .link .submenu a.submenu_item {
	text-decoration: underline;
}

footer .text {
	padding: 1em 0;
	overflow: hidden;
	height: 131px;
}

footer .text img {
	display: inline-block;
	min-width: 1426px;
	height: 131px;
	margin-right: 100px;
}

footer .text>div {
	display: inline-block;
	padding-left: 100%;
	white-space: nowrap;
	animation: marquee 30s linear infinite;
}



@media screen and (max-width: 1299px) {

	footer .contact {
		flex-direction: column;
		height: auto;
	}

}







@media screen and (min-width: 1100px) {
	.sp {
		display: none;
	}

	body::before {
		content: "pc";
		display: none;
	}
}



@media screen and (max-width: 1099px) {

	section,
	footer {
		overflow: hidden;
	}

	footer .inner{
		padding: 0;
	}


	.pc {
		display: none;
	}


	body::before {
		content: "sp";
		display: none;
	}



	/* ========================================
   BUTTONS & INTERACTIVE ELEMENTS
======================================== */
	.viewmore>a {
		padding: 11px 54px 11px 20px;
		font-size: 16px;
		height: 56px;
	}

	.viewmore>a:hover:before {
		transform: scaleX(1);
		transform-origin: left;
	}

	.viewmore>a:hover {
		/* background: #FFF;
		color: #1B1037; */
	}

	.arrow_circle {
		right: 12px;
		width: 32px;
		height: 32px;
	}

	a:hover>.arrow_circle::before {
		width: 32px;
		height: 32px;
	}

	.arrow_circle::after {
		width: 32px;
		height: 32px;
		background: url('../images/nav_contact_arrow.svg') no-repeat left 5px center/70% 70%;
	}

	a>.arrow_circle::before {
		/* width: 32px;
		height: 32px;
		background: #E4444A; */
	}

	.viewmore>a:before {
		transform: scaleX(1);
		transform-origin: left;
		display: none;
	}

	.viewmore>a {
		/* background: #FFF;
		color: #1B1037; */
	}

	a>.arrow_circle::after {
		opacity: 0;
	}




	/* ========================================
   HEADER
======================================== */

	header {
		z-index: 98;
		position: fixed;
		width: 100%;
		display: flex;
		justify-content: space-between;
		/* padding: 15px 15px; */
		animation: fade 0.8s ease;
		animation-delay: 2s;
		animation-fill-mode: forwards;
		opacity: 0;
	}

	header .logo {
		width: 40px;
		top: 15px;
		left: 15px;
	}

	header .sp_menu{
		position: fixed;
		top: 15px;
		right: 15px;
	}

	header .menu {
		position: fixed;
		right: -281px;
		top: 0;
		padding: 88px 40px 40px;
		width: 281px;
		height: 100%;
		background: #1B1037;
		transition: right 0.3s;
	}

	header .menu.open {
		right: 0;
	}

	header .menu>nav {
		background: none;
		backdrop-filter: none;
		border-radius: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		align-items: start;
		gap: 0;
		width: 100%;
	}

	header .sp_close {
		position: absolute;
		right: 16px;
		top: 16px;
	}


	header .sp_contacts {
		margin-bottom: 20px;
	}


	header .sp_contacts>a {
		position: relative;
		box-sizing: border-box;

		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;

		background: #FFFFFF;
		border: 1px solid #49447C;
		border-radius: 8px;

		/* body-lg-JP */
		font-family: 'Noto Sans JP';
		font-style: normal;
		font-weight: 700;
		line-height: 180%;
		/* または32px */
		text-align: justify;

		color: #49447C;

		text-decoration: none;

		padding: 8px 60px 8px 24px;
		gap: 16px;

		width: auto;
		height: 41px;

		font-size: 14px;
		margin-bottom: 8px;
	}

	header .sp_contacts>a.reserve {
		color: #E4444A;
	}



	header .sp_contacts .arrow_circle {
		right: 10px;
		width: 24px;
		height: 24px;
	}

	header .sp_contacts .arrow_circle::after {
		width: 24px;
		height: 24px;
		background: url('../images/nav_contact_arrow.svg') no-repeat left 5px center/60% 60%;
	}

	header .sp_contacts a>.arrow_circle::before {
		/* width: 24px;
		height: 24px;
		background: #E4444A; */
	}



	header nav>div:not(:last-child) {
		text-align: left;
		padding: 16px 0;
		border-bottom: 1px solid #ffffff;
		display: block;
		width: 100%;
		position: relative;
	}

	header nav>div:not(:last-child)::after {
		content: '';
		display: block;
		width: 19px;
		height: 19px;
		position: absolute;
		top: 22px;
		right: 0;
		background: url(../images/nav_tri.svg) no-repeat center center/contain;
		transition: rotate 0.3s;
	}

	header nav>div.open::after {
		rotate: 90deg;
	}

	header nav>div:last-child {
		text-align: center;
		padding-top: 32px;
		display: block;
		width: 100%;
	}

	header nav>div:last-child a {
		display: block;
		margin: 0 auto;
	}

	header nav>div>a {
		font-size: 16px;
		line-height: 180%;
		color: #FFFFFF;
	}

	header .nav_contact {
		color: #fff;
		padding: 12px 72px 12px 24px;

		background: linear-gradient(90deg, #49447C 0%, #458FD5 100%);
		border-radius: 100px;
		position: relative;
	}

	header .nav_contact:hover {
		/* background: #FFF;
		color: #49447C; */
	}

	header .menu_sub_inner {
		position: relative;
		padding: 12px 0 0 24px;
		width: 100%;
		left: 0;
		top: 0;
		background: none;
		transform: none;
		display: none;
		color: #fff;
	}

	header nav>div .menu_sub_inner,
	header nav>div.menu_sub:hover .menu_sub_inner {
		display: none;
	}

	header nav>div.open .menu_sub_inner,
	header nav>div.menu_sub.open:hover .menu_sub_inner {
		display: block;
	}

	.menu_sub_inner a {
		width: 100%;
		font-size: 14px;
		color: #fff;
		padding: 4px 0;
		background: url(../images/nav_tri_sub.svg) no-repeat right center;
	}

	.menu_sub_inner a:hover {
		color: #E4444A;
	}








	/* ========================================
   SIDE TAB
======================================== */
	.sidetab {
		bottom: -101px;
		right: 0;
		width: 100%;
		height: 135px;
	}

	.sidetab.open {
		right: 0;
		bottom: 0;
	}

	.sidetab>div {
		position: absolute;
		bottom: 0;
		right: 0;
		width: 100%;
	}

	.sidetab>div>.container {
		display: block;
		width: 100%;
	}

	.sidetab .open {
		display: none;
	}

	.sidetab .close {
		display: block;
	}

	.sidetab.open .open {
		display: block;
	}

	.sidetab.open .close {
		display: none;
	}



	.sidetab .tab {
		display: flex;
		flex-direction: row;
		gap: 8px;
		padding: 0px 8px;

		width: 100%;
		height: 34px;

		border-radius: 8px 8px 0px 0px;
		font-size: 10px;


	}

	.sidetab .open .tab {
		background: #49447c;
	}

	.sidetab .open .tab img {
		height: 8px;
		transform: rotate(90deg);
	}

	.sidetab .close .tab img {
		height: 8px;
		transform: rotate(-90deg);
	}

	.sidetab .close .tab {
		background: #49447c;
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		gap: 8px;
	}

	.sidetab .tab img {
		margin-bottom: 0;
	}

	.sidetab .tab .text {
		display: block;
		font-size: 10px;
		transform: none;
		margin-bottom: 0;
	}


	.sidetab .content {
		padding: 8px 20px;
		width: 100%;
		height: 109px;
	}

	.sidetab .content .text {
		font-size: 12px;
		margin-bottom: 8px;
	}


	.sidetab .content .button {
		flex-direction: row;
		gap: 8px;
	}

	.sidetab .content .button>a {
		padding: 8px 60px 8px 24px;
		gap: 16px;

		width: auto;
		height: 41px;

		font-size: 14px;
	}

	.sidetab .arrow_circle {
		right: 10px;
		width: 24px;
		height: 24px;
	}

	.sidetab a:hover>.arrow_circle::before {
		width: 8px;
		height: 8px;
	}

	.sidetab .arrow_circle::after {
		width: 24px;
		height: 24px;
		background: url('../images/nav_contact_arrow.svg') no-repeat left 5px center/60% 60%;
	}

	/* .sidetab a>.arrow_circle::before {
		width: 24px;
		height: 24px;
		background: #E4444A;
	} */






	/* ========================================
   FOOTER
======================================== */
	footer {
		padding: 52px 0 27px;
		background: rgba(27, 16, 55, 0.7);
		backdrop-filter: blur(8px);
	}

	footer .text {
		height: 67px;
		margin-bottom: 30px;
		padding: 0;
		overflow: hidden;
	}

	footer .text img {
		display: inline-block;
		min-width: 375px;
		height: 67px;
		margin-right: 50px;
	}

	footer .text>div {
		animation: marqueeSP 30s linear infinite;
	}



	footer .contact {
		flex-direction: column;
		justify-content: start;
		padding: 24px;
		gap: 24px;
		width: auto;
		height: auto;
		margin: 0 15px 48px;
	}

	footer .contact .title .en {
		font-size: 28px;
		margin-bottom: 8px;
		text-align: center;
	}

	footer .contact .title .ja {
		font-size: 16px;
		text-align: center;
	}

	footer .contact .tel .time {
		font-size: 14px;
		text-align: center;
	}

	footer .contact .tel .number {
		font-size: 28px;
		text-align: center;
	}

	footer .contact .tel .number img {
		margin-right: 5px;
		width: 24px;
		vertical-align: middle;
	}


	footer .contact .mail a {
		padding: 24px 55px;
		font-size: 16px;
		line-height: 150%;
	}

	footer .contact .mail a img {
		margin-right: 5px;
		width: 24px;
		vertical-align: middle;
	}

	footer .information {
		flex-direction: column;
		justify-content: start;
		gap: 24px;

		width: auto;

		margin: 0 15px 24px;
		padding-bottom: 24px;
	}

	/* footer .information>div {
		width: 100%;
	} */

	footer .information .name {
		font-size: 16px;
		line-height: 150%;
		margin-bottom: 16px;
	}

	footer .information .address {
		flex-direction: column;
		gap: 16px;
		font-size: 12px;
	}

	footer .bottom {
		flex-direction: column;
		justify-content: start;
		gap: 24px;

		width: 100%;
		max-width: 1440px;

		color: #fff;
		margin: 0 auto 40px;
	}

	footer .bottom .copyright {
		font-size: 12px;
	}

	footer .bottom .link .submenu {
		gap: 24px;
		flex-wrap: wrap;
		justify-content: center;
	}

	footer .bottom .link .submenu a {

		font-size: 14px;
		line-height: 180%;
		text-decoration: none;
	}

	footer .bottom .link .submenu a img {
		display: inline-block;
		margin-left: 10px;
	}

	footer .bottom .link .submenu a.submenu_item {
		text-decoration: underline;
	}


}