@font-face {
  font-family: 'AppleSDGothicNeo';
  font-weight:100;
  src: url('../fonts/AppleSDGothicNeo-Thin.ttf') format('truetype'), 
  url('../fonts/AppleSDGothicNeo-Thin.woff2') format('woff2');
}
@font-face {
  font-family: 'AppleSDGothicNeo';
  font-weight:200;
  src: url('../fonts/AppleSDGothicNeo-ExtraLight.ttf') format('truetype'), 
  url('../fonts/AppleSDGothicNeo-ExtraLight.woff2') format('woff2');
}
@font-face {
  font-family: 'AppleSDGothicNeo';
  font-weight:300;
  src: url('../fonts/AppleSDGothicNeo-Light.ttf') format('truetype'), 
  url('../fonts/AppleSDGothicNeo-Light.woff2') format('woff2');
}
@font-face {
  font-family: 'AppleSDGothicNeo';
  font-weight:400;
  src: url('../fonts/AppleSDGothicNeo-Regular.ttf') format('truetype'), 
  url('../fonts/AppleSDGothicNeo-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'AppleSDGothicNeo';
  font-weight:500;
  src: url('../fonts/AppleSDGothicNeo-Medium.ttf') format('truetype'), 
  url('../fonts/AppleSDGothicNeo-Medium.woff2') format('woff2');
}
@font-face {
  font-family: 'AppleSDGothicNeo';
  font-weight:600;
 src: url('../fonts/AppleSDGothicNeo-SemiBold.ttf') format('truetype'), 
  url('../fonts/AppleSDGothicNeo-SemiBold.woff2') format('woff2');
}
@font-face {
  font-family: 'AppleSDGothicNeo';
  font-weight:700;
  src: url('../fonts/AppleSDGothicNeo-Bold.ttf') format('truetype'), 
  url('../fonts/AppleSDGothicNeo-Bold.woff2') format('woff2');
}
@font-face {
   font-family: 'AppleSDGothicNeo';
  font-weight:800;
  src: url('../fonts/AppleSDGothicNeo-ExtraBold.ttf') format('truetype'), 
  url('../fonts/AppleSDGothicNeo-ExtraBold.woff2') format('woff2');
}
@font-face {
  font-family: 'AppleSDGothicNeo';
  font-weight:900;
  src: url('../fonts/AppleSDGothicNeo-Black.ttf') format('truetype'), 
  url('../fonts/AppleSDGothicNeo-Black.woff2') format('woff2');
}

*{font-family:  'AppleSDGothicNeo', sans-serif; outline:none; word-break:keep-all; transition:ease 0.5s;}
body{font-size:1em; letter-spacing:-0.02em; color:#555; outline:none; scroll-behavior: smooth; }
body,div,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,p,form,fieldset,input,table,tr,th,td,ul,li{margin:0; padding:0;}
table{border-collapse:collapse;}
ul,ol,li{list-style:none; margin:0;padding:0;}
a{color: inherit;text-decoration: none;}

html::-webkit-scrollbar {
    width: 10px;
  }
html::-webkit-scrollbar-thumb {
    background-color: #222;
    border-radius: 10px;
    background-clip: padding-box;
    border: 2px solid transparent;
  }
html::-webkit-scrollbar-track {
    background-color: rgba(0,0,0,0.1);
    border-radius: 10px;
    /* box-shadow: inset 0px 0px 5px rgba(255,255,255, .3); */
 }


.main_visual{
	position:relative;
	overflow:hidden;
	transition: 1s ease-in-out; 
	margin-top:90px;
}
.main_visual_bg{
	position:absolute; 
	top:0; left:50%; 
	transform:translateX(-50%); 
	width:100%; 
	height:100%;
	/* background:url('../img/main_visual.png')no-repeat center center / cover; */
	z-index:-1;
}
.main_visual_bg img{
	position:absolute; 
	top:0; left:50%; 
	transform:translateX(-50%) scale(1.3); 
	transition: transform 1.7s ease-in-out;
}
.main_visual.on{
	width:100%;
}
.main_visual.on .main_visual_bg img{
	transform:translateX(-50%) scale(1);
}
/* .main_visual:before{
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	z-index:1;
	width:100%;
	height:200px;
	background: linear-gradient(0deg, rgba(255,255,255,100) 0%, rgba(255,255,255,0) 100%);
} */
.main_visual_wrap{
	height:110vh;
	position: relative;
    z-index: 1;
}
.main_visual_txt{
    max-width: 1460px;
    width: 100%;
    padding: 10% 30px 0 30px;
    margin: 0 auto;
    height: inherit;
    display: flex;
    align-items: flex-start;
    color: #fff;
    text-align: left;
    flex-direction: column;

}
.main_visual_txt span{
	font-size:1.1em;
}
.main_visual_txt p{
	font-size: 4em;
    line-height: 1.05;
    font-weight: 700;
    transition: .5s ease;
    padding-top: 20px;
}
.main_visual_txt span{
	font-size:1.5em;
	font-weight:500;
	padding-top:30px;
}
.main_busi_wrap {
  width: 100%;
  height: 63vh;
}
.main_business > *{
	transition:none;
}
.category_container {
  --gap: 0.5rem;
  display: flex;
  /* justify-content: space-between; */
  align-items: center;
  flex-wrap: nowrap;
  gap: calc(var(--gap) * 2);
  width: 100%;
  height: 100%;
}
.main_busi_content {
  --active: 0;
  cursor: pointer;
  overflow: clip;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
 justify-content: space-between;
  gap: 1.5rem;
  padding:70px 60px;
 /*  width: calc((100% / 3) - var(--gap)); */
 width:50%;
  height: 100%;
  border-radius: 2rem;
  transition: width 0.5s ease-in-out;
  color:#fff;
}
.category_container:hover .main_busi_content{
  width:25%;
  font-size:0.5em;
  transition:ease 0.5s;
  padding:70px 30px;
}
.category_container:hover .main_busi_content .profile_detail p{
	opacity:0;
}
.category_container:hover .main_busi_content:hover{
  width:75%;
  font-size:1em;
  padding:70px 60px;
}
.category_container:hover .main_busi_content:hover .profile_detail p{
  opacity:1;
}
.main_busi_content::before {
  content: "";
  position: absolute;
  z-index: -10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--dark);
  opacity: 0.6;
}
.main_busi_content img {
  position: absolute;
  z-index: -20;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.main_busi_content .profile_image {
  opacity: calc(1 - var(--active));
  transition: opacity 0.3s ease-in-out;
}
.profile_detail {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
  /* height:100%; */
  transition: transform 0.5s cubic-bezier(0.23, 0.93, 0.77, 1) 0.01s;
}
.profile_detail strong{
	font-size:2.8em;
	font-weight:800;
}
.profile_detail span {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--light);
  text-wrap: nowrap;
}
.profile_detail p {
  font-size: 1.5em;
  font-weight: 500;
  color: var(--light);
  opacity:0;
  transition: opacity 0.8s ease-in-out, transform 0.8s cubic-bezier(0.23, 0.93, 0.77, 1) 0.01s;
}
.profile_quote {
  transform: translate(0, calc((1 - var(--active)) * (100% + 2.5rem)));
}
.main_busi_link{
	margin-bottom:30px;
}
.main_busi_link a{
	display:block;
	font-size:1.6em;
}
.profile_quote_wrap {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
 transition: grid-template-rows 0.5s cubic-bezier(0.23, 0.93, 0.77, 1) 0.01s;
  transition: grid-template-rows 0.5s cubic-bezier(0.23, 0.93, 0.77, 1) 0.01s, -ms-grid-rows 0.5s cubic-bezier(0.23, 0.93, 0.77, 1) 0.01s;
}
.profile_quote {
  min-height: 0;
  transform: translateY(0%);
  opacity: 0;
  transition: opacity 0.8s ease-in-out, transform 0.8s cubic-bezier(0.23, 0.93, 0.77, 1) 0.01s;
}
.main_busi_content:hover .profile_quote_wrap {
  grid-template-rows: 1fr;
}
.main_busi_content:hover .profile_detail p {
	opacity:1;
}
.main_busi_content:hover .profile_quote {
  transform: none;
  opacity: 1;
}

.inner{
	max-width:1480px;
	width:100%;
	padding:100px 40px;
	margin:0 auto;
}
.con_tit{
	text-align:center;
	font-size:2.5em;
	font-weight:800;
	color:#000;
	margin-bottom:50px;
	margin-top:50px;
}
.con_tit span{
	text-align:center;
	font-size:0.6em;
	display:block;
	font-weight:500;
}
.main_more_btn{
	display:table;
	padding:8px 26px;
	border-radius:25px;
	border:2px solid #fff;
	font-size:1.3em;
	font-weight:700;
}
.main_more_btn:after{
	content:url('../img/main_more_btn.png');
	display:inline-block;
	margin-left:25px;
	width:14px;
	height:12px;
}
.main_sustainability{
 }
.main_sus_wrap{
	display:flex;
	flex-direction: row;
}
.main_sus{
	width: 33.3%;
    height: 70vh;
    overflow: hidden;
    position: relative;
    padding: 70px 60px;
    color: #fff;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.main_sus strong{
	font-size:2.8em;
	font-weight:800;
}
.main_sus p{
	font-size:1.6em;
	padding-top:10px;
}
.main_sus_item{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:-1;
	transform:scale(1);
	transition:ease 0.5s;
}
.main_sus1{
	background:url('../img/main_sus1.png')no-repeat top center / cover;
}
.main_sus2{
	background:url('../img/main_sus2.png')no-repeat top center / cover;
}
.main_sus3{
	background:url('../img/main_sus3.png')no-repeat top center / cover;
}
.main_sus:hover .main_sus_item{
	transform:scale(1.1);
}

.main_customer_service{
	padding-bottom:80px;
	cursor:pointer;
}
.main_cs_wrap{
	display:flex;
	--gap:0.5rem;
	 gap: calc(var(--gap) * 2);
}
.main_cs_wrap > div{
	width:100%;
	height:475px;
	border-radius:2rem;
}
.main_contact{
	border:1px solid #ccc;
	color:#000;
}
.main_gn{
	position:relative;
	border-radius:2rem;
	overflow:hidden;
	color:#fff;
}
.main_gn_bg{
	background:url('../img/main_contact.png')no-repeat center center / cover;
	position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    transform: scale(1);
    transition: ease 0.5s;
}
.main_gn:hover .main_gn_bg{
	transform:scale(1.1);
}
.main_cs_inner {
    padding: 70px 60px;
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
}
.main_cs_inner strong{
	font-size:2.8em;
	font-weight:800;
}
.main_cs_bt p{
	font-size:1.8em;
	font-weight:800;
}
.main_cs_bt p span{
	display:block;
	font-size:0.8em;
	padding-top:20px;
	font-weight:500;
}
.main_contact .main_more_btn{
	background:#00284d;
	border:1px solid #00284d;
	color:#fff;
}
.main_cs_wrap .main_more_btn{
	margin-top:25px;
}

.footer{
	border-top:1px solid #ccc;
	color:#000;
	background:#fff;
}
.ft_wrap{
	max-width: 1480px;
    width: 100%;
    padding: 60px 40px;
    margin: 0 auto;
}
.ft_top{
	display: flex;
    align-items: center;
    justify-content: space-between;
	padding-bottom:30px;
}
.ft_link{
	font-weight: 600;
}
.ft_link a{
	padding-right:20px;
}
.ft_logo img{
	filter: invert(31%) brightness(10%) contrast(20%);
	width:280px !important;
}
.ft_company p{
	padding:1px 0;
}
.ft_company p span{
	padding-right:20px;
}
.ft_company p span:last-child{
	padding-right:0;
}


@media(max-width:1600px){
	.main_visual_txt p{
		font-size:3em;
	}	
	.main_visual_txt span{
		font-size:1.3em;
	}
	.main_visual_wrap{
		height:100vh;
	}
	.main_business {
		padding: 0 40px 0 40px;
	}
	.main_busi_wrap{
		height:60vh;
	}
	.main_busi_link a{
		font-size:1.2em;
	}
	.main_more_btn{
		font-size:1em;
	}
	.profile_detail strong{
		font-size:2em;
	}
	.profile_detail p{
		font-size:1.3em;
	}
	.con_tit{
		font-size:2em;
	}
	.main_sus strong{
		font-size:2.2em;
	}
	.main_sus p {
		font-size: 1.3em;
	}
	.main_cs_wrap > div{
		height:450px;
	}
	.main_cs_inner strong{
		font-size:2.2em;
	}
	.main_cs_bt p{
		font-size:1.4em;
	}
	.ft_company{
		font-size:0.95em;
	}
}

@media(max-width:1281px){
	.inner{
		padding:60px 40px;
	}
	.con_tit{
		font-size:1.6em;
		margin-bottom:60px;
	}
	.main_visual{
		margin-top:62px;
	}
	.main_visual_wrap{
		height:90vh;
	}
	.main_busi_wrap {
        height: auto;
    }
	.main_busi_link{
		display:none;
	}
	.main_business {
        padding: 0 40px 0 40px;
    }
	.category_container{
		flex-direction:column;
	}
	.main_busi_content{
		width:100%;
		padding:60px 50px;
	}
	.category_container:hover .main_busi_content{
	  width:100%;
	  padding:60px 50px;
	  font-size:1em;
	}
	.category_container:hover .main_busi_content:hover{
	  padding:60px 50px;
	}
	.profile_detail p{
		opacity:1;
		padding-bottom: 20px;
	}
	.category_container:hover .main_busi_content .profile_detail p{
		opacity:1;
	}
	.category_container:hover .main_busi_content:hover{
	  width:100%;
	}
	.profile_quote_wrap{
		grid-template-rows: 1fr;
	}
	.category_container:hover .main_busi_content:hover .profile_detail p{
	  opacity:1;
	}
	.profile_quote{
		opacity:1;
	}
	.main_sus strong {
        font-size: 2em;
    }
}


@media(max-width:1024px){
	.inner{
		padding:50px 40px;
	}
	.con_tit{
		margin-top: 20px;
		margin-bottom:40px;
	}
	.main_business {
        padding: 0 40px 0 40px;
    }
	 .main_busi_content {
        width: 100%;
        padding: 40px 40px;
    }
	.profile_detail strong {
        font-size: 1.6em;
    }
	.profile_detail p {
        font-size: 1.1em;
    }
	.category_container:hover .main_busi_content{
		padding:40px 40px;
	}
	.category_container:hover .main_busi_content:hover{
	  padding:40px 40px;
	}
	.main_sus{
		padding:40px 40px;
	}
	.main_sus strong {
        font-size: 1.6em;
    }
	.main_cs_wrap > div{
		height:350px;
	}
	.main_cs_inner{
		padding:40px 40px;
	}
	.main_cs_inner strong{
		font-size:1.6em;
	}
	.main_cs_bt p {
        font-size: 1.2em;
    }
	.main_cs_bt p span{
		font-size:0.9em;
	}
	.main_sus p{
		font-size:1em;
	}
	.ft_company p span {
		padding-right: 10px;
	}

}
@media(max-width:820px){
	.main_visual_bg img{
		width: 250%;
		object-fit: cover;
	}
	.con_tit {
        font-size: 1.6em;
    }
	.main_more_btn {
		padding: 8px 20px 8px 20px;
	}
	.profile_detail strong {
        font-size: 1.2em;
    }
	.profile_detail p {
        font-size: 1em;
        font-weight: 400;
    }
	.main_visual_txt p {
        font-size: 2.2em;
		line-height:1.2;
    }
	.main_visual_txt span{
		font-size:1em;
	}
	.ft_company p span{
		display:block;
	}
	.main_cs_wrap {
		flex-direction: column;
	}
	.main_cs_wrap > div{
		width:100%;
		height:250px;
	}
	.main_cs_bt p span{
		padding-top:5px;
	}
	.main_cs_bt p span br{
		display:none;
	}
	.main_cs_wrap .main_more_btn{
		margin-top:15px;
	}
	.main_sus_wrap{
		flex-direction:column;
	}
	.main_sus {
		width: 100%;
		height: 30vh;
	}
	.main_sus3{
		background: url('../img/main_sus3.png') no-repeat bottom center / cover;
	}
}
@media(max-width:600px){
	.main_visual_wrap {
        height: 70vh;
    }
	.con_tit {
        font-size: 1.3em;
		margin-top: 10px;
        margin-bottom: 20px;
    }
	 .inner {
        padding: 50px 20px;
    }
	.main_visual_txt p{
		font-size:1.6em;
	}
	.main_business {
        padding: 0 0;
    }
	.main_busi_content {
        padding: 25px 25px;
        border-radius: 1.5rem;
    }
	.category_container:hover .main_busi_content{
		padding:24px 20px;
	}
	.category_container:hover .main_busi_content:hover{
	  padding:25px 25px;
	}
	.main_sus {
        padding: 25px 25px;
    }
	.main_sus_wrap {
		gap: 0;
	}
	.main_sus strong {
        font-size: 1.2em;
    }
	.main_cs_bt p span br{
		display:none;
	}
	.main_cs_inner strong {
        font-size: 1.2em;
    }
	.main_cs_wrap > div{
		border-radius:1.5rem;
	}
	.main_cs_inner{
		padding:25px 25px;
	}
	.main_customer_service{
		padding-bottom:40px;
	}
	.ft_top {
		align-items: flex-start;
		padding-bottom: 10px;
		flex-direction: column-reverse;
	}
	.ft_link {
		margin-top: 20px;
	}
   .ft_company {
		color:#666;
    }
	.ft_wrap{
		padding:50px 20px;
		font-size: 0.9em;
	}
	.ft_logo img{
		width:220px !important;
	}
}