.font-22 {
	--fontsize: 2.2rem;
	font-size: var(--fontsize);
}

.font-24 {
	--fontsize: 2.4rem;
	font-size: var(--fontsize);
}

.font-26 {
	--fontsize: 2.6rem;
	font-size: var(--fontsize);
}

.visual {
	width: 100%;
	max-width: 100%;
	height: 100vh;
	position: relative;
	z-index: 2;
	height: calc(var(--vh, 1vh) * 100);
}

@supports (-webkit-touch-callout: none) {
	.visual {
		height: -webkit-fill-available;
	}
}

.visual :root {
	--vh: 100%;
}

.visual .box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	width: 100%;
	height: 100%;
}

.visual .swiper-button-prev,
.visual .swiper-button-next,
.visual .swiper-pagination {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	bottom: auto;
	margin-top: 0;
}

.visual .swiper-button-prev,
.visual .swiper-button-next {
	width: 7px;
	height: 10px;
	background-size: 100%;
}

.visual .swiper-button-prev {
	background-image: url("/komefreser202307/img/common/prevIcon.png");
}

.visual .swiper-button-next {
	background-image: url("/komefreser202307/img/common/nextIcon.png");
}

.visual .swiper-pagination-fraction {
	width: auto;
	color: #ffffff;
	line-height: 1;
}

.visual .swiper-pagination-fraction span {
	display: inline-block;
	line-height: 1;
}

.visual .swiper-pagination-fraction span::before {
	content: "0";
}

.visual .swiper-pagination-fraction span.swiper-pagination-current {
	padding-right: 5px;
}

.visual .swiper-pagination-fraction span.swiper-pagination-total {
	padding-left: 5px;
}

.visual .visualSlide.swiper-container {
/*	position: absolute;*/
/*	z-index: 0;*/
	width: 100%;
	height: 100%;
	max-width: 64.45%;
	
	max-width: 75%;
}

/*.visual .visualSlide.swiper-container .itemBox {*/
/*	position: absolute;*/
/*}*/

.visual .visualSlide.swiper-container .itemBox .swiper-slide {
	overflow: hidden;
}

.visual .visualSlide.swiper-container .itemBox .swiper-slide.swiper-slide-active {
	z-index: 4;
}

.visual .visualSlide.swiper-container .innerBox {
	overflow: hidden;
	width: 100%;
	height: 100%;
/*	position: absolute;*/
/*	top: 0;*/
/*	left: 0;*/
/*	right: 0;*/
}

.visual .visualSlide.swiper-container {
	position: relative;
}

.visual .visualSlide.swiper-container .bg,
.visual .visualSlide.swiper-container .title {
	width: 100%;
	height: 100%;
}

.visual .visualSlide.swiper-container .bg {
/*	max-width: 1360px;*/
/*	max-width: 64.45%;*/
	width: 100%;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
	z-index: -2;
}

.visual .visualSlide.swiper-container .bg img {
	width: 100%;
	min-height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.visual .visualSlide.swiper-container .title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	position: absolute;
	bottom: 95px;
	left: 100px;
}

.visual .visualSlide.swiper-container .title h2 {
	color: #ffffff;
	font-size: 6.0rem;
	line-height: 1.35;
	overflow: hidden;
}

.visual .visualSlide.swiper-container .title h2 span {
	display: inline-block;
	opacity: 0;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

.visual .visualSlide.swiper-container .title.on h2 span {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: all 1.0s linear;
	transition: all 1.0s linear;
}

.visual .optionBox {
	gap: 0 20px;
	position: relative;
	position: absolute;
	top: 58%;
	left: 100px;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.visual .optionBox .progressBar {
	width: 180px;
	height: 2px;
	background: rgba(255, 255, 255, 0.2);
	position: relative;
}

.visual .optionBox .progressBar span {
	display: block;
	height: 100%;
	background: #ffffff;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
}

.visual .optionBox .pauseButton {
	width: 10px;
	height: 10px;
	gap: 0 2px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.visual .optionBox .pauseButton span {
	display: block;
	width: 2px;
	height: 100%;
	background: #ffffff;
}

.visual .contents {
	width: 100%;
	max-width: 35.55%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	z-index: 2;

	max-width: 25%;
}

.visual .contents .info {
	width: calc(100% - 100px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	padding: 30px 40px;
	padding: 3.5% 9.5%;

	padding: 3.5%;
	overflow-y: scroll
}
.visual .contents .info::-webkit-scrollbar {
	width: 0;
}

.visual .contents .info .auth {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 20px;
}

.visual .contents .info .auth a {
	width: 120px;
	height: 46px;
	border: 1px solid #e6e6e6;
	border-radius: 23px;
	color: #000;
	position: relative;
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.visual .contents .info .auth a::before,
.visual .contents .info .auth a::after {
	content: "";
	display: block;
	width: 0;
	height: 100%;
	background: #0056b8;
	position: absolute;
	top: 50%;
	z-index: -2;
	opacity: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: opacity 0.8s linear, width 0.6s;
	transition: opacity 0.8s linear, width 0.6s;
}

.visual .contents .info .auth a::before {
	left: 0;
}

.visual .contents .info .auth a::after {
	right: 0;
}

.visual .contents .info .auth a:hover {
	border-color: transparent;
	color: #ffffff;
}

.visual .contents .info .auth a:hover::before,
.visual .contents .info .auth a:hover::after {
	width: 100%;
	border: 1px solid #0056b8;
	opacity: 1;
}

.visual .contents .info .menu {
	margin: 40px 0;
	margin: 11% 0;

	/* 23.04.13 */
	margin: 10% 0;
}

.visual .contents .info .menu ul li {
	border-bottom: 1px solid #eeeeee;
}

.visual .contents .info .menu ul li a {
	gap: 0 20px;
	padding: 34px 10px 24px;
	padding: 9.5% 10px 6.5%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;

	/* 23.04.13 */
	padding: 5.5% 10px;
}

.visual .contents .info .menu ul li a *,
.visual .contents .info .menu ul li a {
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}

.visual .contents .info .menu ul li a .icon {
	width: 30px;
	height: 30px;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.visual .contents .info .menu ul li a .icon::before {
	content: "";
	display: block;
	width: 4px;
	height: 4px;
	top: 0;
	left: 0;
	border-radius: 50%;
	background: rgba(0, 86, 184, 0.2);
	position: absolute;
	opacity: 0;
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}

.visual .contents .info .menu ul li a .icon svg {
	width: auto;
	height: 100%;
}

.visual .contents .info .menu ul li a .icon svg .cls-1 {
	fill: #aaaaaa;
}

.visual .contents .info .menu ul li a span {
	color: #000;
	font-size: 2.0rem;

	/* 23.04.13 */
	font-size: 1.9rem;
}

.visual .contents .info .menu ul li a .arrow {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	margin: 0 0 0 auto;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.visual .contents .info .menu ul li a .arrow::before {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	background: #0056b8;
	border-radius: 50%;
	opacity: 0;
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.visual .contents .info .menu ul li:hover a .icon::before {
	width: 20px;
	height: 20px;
	top: -10px;
	left: -10px;
	opacity: 1;
}

.visual .contents .info .menu ul li:hover a .icon svg .cls-1 {
	fill: #222222;
}

.visual .contents .info .menu ul li:hover a span {
	color: #0056b8;
}

.visual .contents .info .menu ul li:hover a .arrow::before {
	opacity: 1;
	width: 100%;
	height: 100%;
}

/* .visual .contents .info .menu ul li:hover a .arrow img {
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
} */


.visual .contents .info .contact {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 30px 0;
	margin: auto 0 0;
}

.visual .contents .info .contact>div {
	border-radius: 5px;
	padding: 35px 30px 30px;
	padding: 6.5% 8% 6.5%;
}

.visual .contents .info .contact>div .title {
	gap: 0 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.visual .contents .info .contact>div .title .icon {
	width: 28px;
}

.visual .contents .info .contact>div .title h6 {
	font-weight: 500;
}

.visual .contents .info .contact .time {
	background: #f2f2f2;
}

.visual .contents .info .contact .time .title {
	margin: 0 0 30px;
}

.visual .contents .info .contact .time .title h6 {
	color: #222222;
}

.visual .contents .info .contact .time .title span {
	display: block;
	color: #0d3d73;
	margin: 0 0 0 auto;
}

.visual .contents .info .contact .time .date {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 10px 0;
}

.visual .contents .info .contact .time .date dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 30px;
}

.visual .contents .info .contact .time .date dl dt {
	color: #444444;
	font-weight: 500;
}

.visual .contents .info .contact .phone {
	background: #0d3d73;
	color: #ffffff;
}

.visual .contents .info .contact .phone .title {
	margin: 0 0 10px;
}

.visual .contents .info .contact .phone h4 {
	font-size: 4.8rem;
	font-weight: 700;
	margin: 0 0 6px;
}

.visual .contents .side {
	width: 100px;
	height: 100%;
	border-left: 1px solid #e6e6e6;
}

.visual .contents .social {
	width: 100%;
	height: calc(100% - 100px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	gap: 50px 0;
	padding: 0 0 50px;
}

.visual .contents .social li:nth-child(1) {
	width: 10px;
}

.visual .contents .social li:nth-child(2),
.visual .contents .social li:nth-child(3) {
	width: 16px;
}

.visual .contents .social li:nth-child(4),
.visual .contents .social li:nth-child(5) {
	width: 20px;
}

.visual .contents .social li svg {
	width: 100%;
	height: auto;
}

.visual .contents .social li svg .cls-1 {
	fill: #666666;
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}

.visual .contents .social li:hover svg .cls-1 {
	fill: #0056b8;
}




/* 240417 */
.visual .contents .info .menu ul  {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}
.visual .contents .info .menu ul li {
	display: flex;
	align-items: center;
	border-bottom: none;
}
.visual .contents .info .menu ul li:not(.checkup) img {
	filter: brightness(3.5) grayscale(1);
}
.visual .contents .info .menu ul li a {
	width: 100%;
	padding: 5.85% 20px;
	gap: 0 15px;
	color: #222;
	font-weight: 500;
	border-radius: 5px;
	background: #FFF;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.08);
	border-bottom: none;
}
.visual .contents .info .menu ul li.checkup a {
	background: rgba(13, 61, 115, 0.10);
	padding: 8.75% 20px;	
}
.visual .contents .info .menu ul li a .icon::before,
.visual .contents .info .menu ul li a .arrow::before {
	display: none;
}
.visual .contents .info .menu ul li a span {
	font-size: 1.6rem;

	font-size: 1.9rem;
}
.visual .contents .info .menu ul li:hover a span {
	color: #0D3D73;
}
.visual .contents .info .menu ul li:hover img {
	filter: inherit;
}
.visual .contents .info .menu ul li.checkup:hover a {
	background: #0056B8;
}
.visual .contents .info .menu ul li.checkup:hover a span {
	color: #fff;
}
.visual .contents .info .menu ul li.checkup:hover img {
	filter: brightness(0) invert(1);
}
.visual .contents .info .contact {
	gap: 10px 0;
}
.visual .contents .info .contact .time .title {
	margin-bottom: 35px;
}
.visual .contents .info .contact>div {
	padding: 7.05% 8%;
}
.visual .contents .info .contact>div .title h6 {
	font-weight: 700;
}
.visual .contents .info .contact .time .title span {
	color: #0D3D73;
	font-weight: 500;
}
.visual .contents .info .contact .time .date dl {
	gap: 0 20px;
}
.visual .contents .info .contact .time .date dl * {
	line-height: 1.3;
}
.visual .contents .info .contact .time .date dl dd {
	font-weight: 500;
	color: #666;
}
.visual .contents .info .contact .phone {
	border: 1px solid rgba(13, 61, 115, 0.20);
	background: #FFF;
	color: #0D3D73;
}
.visual .contents .info .contact .phone * {
	line-height: 1.3;
}
.visual .contents .info .contact .phone .title {
	margin: 0;
}
.visual .contents .info .contact .phone h4 {
	font-size: 3.4rem;
	margin: 5px 0;
}