@charset "utf-8";
/* CSS Document */

.section-in {
  width:1280px;
  margin: auto;
}
.line-text {
	font-size:220px;
	font-weight: 800;
	-webkit-text-stroke: 1px #e9e9e9;
	color: #e9e9e9;
	text-align:center;
	opacity: 1;
	animation: switch 2s linear;
}
@keyframes switch {
    0% { opacity: 1; filter: blur(0); transform:scale(1); color: #e9e9e9;}
    5% { opacity: 0;filter: blur(20px); transform:scale(12); color: #fff;}
    10% { opacity: 1;filter: blur(0); transform:scale(1); color: #fff;}
    15% { opacity: 1;filter: blur(0); transform:scale(.9); color: #fff;}
    20% { opacity: 0;filter: blur(10px); transform:scale(.1); color: #fff;}
    60% { opacity: 0;  transform:scale(.5); color: #e9e9e9;}
    100% { opacity: 1; filter: blur(0); transform:scale(1); color: #e9e9e9;}
}

/*//////////////// about ////////////////*/
.about > h1 {
	display: block;	
	margin-bottom: 30px;
	font-size: 24px;
	line-height: 1.4;
	font-weight: 500;
	text-align: center;
	color: #000;
}
.about > h1 span {
	text-decoration: underline;
}
.about > h1 strong {
	display: inline-block;
	margin-bottom: -7px;
	position: relative;
    overflow: hidden;
} 
.about > h1 strong.first {
	text-transform: uppercase;
    animation: fadeIn 0s 1s;
    animation-fill-mode: backwards;
} 
.about > h1 strong.second {
	text-transform: uppercase;
    animation: fadeIn 0s 1s;
	animation-delay: 1.6s;
    animation-fill-mode: backwards;
} 
.about > h1 strong:after {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000;
}
.about > h1 strong.first:after {
    transform: translateX(-100%);
    animation: secondaryImageOverlayIn 1s 0s, secondaryImageOverlayOut 1s 1s;
    animation-fill-mode: both;
}
.about > h1 strong.second:after {
    transform: translateX(-100%);
    animation: secondaryImageOverlayIn 1s .6s, secondaryImageOverlayOut 1s 1.6s;
    animation-fill-mode: both;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes secondaryImageOverlayIn {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes secondaryImageOverlayOut {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
.about-me {
	font-size: 16px;
	line-height: 1.6;
	font-weight: 400;
	text-align: center;
	color: #000;
}
.about-me p {
	margin-bottom: 20px;
}
.about-point {
	position: relative;
	margin: 160px auto 80px;
}
.about-point h1 {
	position: absolute;
    left: 0px;
    top: 60px;
	display: block;
	font-size: 60px;
    font-weight: 700;
    line-height: 1.1;
	color: #d0d0d0;
	transform: rotate(270deg);
}
.about-point ul {
	float: right;
    width: 66.4%;
}
.about-point ul li {
	margin-bottom: 30px;
}
.about-point ul li strong {
	display: block;
	margin-bottom: 10px;
	font-size: 24px;
	line-height: 1.4;
	font-weight: 600;
	color: #000;
}
.about-point ul li {
	font-size: 16px;
	line-height: 1.6;
	font-weight: 400;
	color: #000;
}
.about-point:after {
	content: "";
	display: block;
	clear: both;
}
.about-img {
	width: 180px;
	margin: 0px auto 20px;
	transform-origin: top;
	animation: bell 4s linear;
	animation-delay: 2s;
}
@keyframes bell{
  0%, 50%{
    transform: rotate(0deg);
	}
  5%, 15%, 25%, 35%, 45% {
    transform: rotate(5deg);
  }
  10%, 20%, 30%, 40% {
    transform: rotate(-5deg);
  }
}
/*//////////////// about ////////////////*/




/*//////////////// portfolio ////////////////*/
.list-wrap {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
}
.list {
	width:33.33%;
}
.list li a  {
	display:block;
	padding: 6% 6% 10% 6%; 
}
.list:nth-child(2) {
	margin: 60px 0 0 ;
}
.list li h3 {
	padding:16px 0 8px;
	font-size: 20px;
	font-weight:400;
	text-align: center;
}
.list li h6 {
	font-size: 14px;
	font-weight:400;
	text-align: center;
	color:#676767;
}
.tab_menu {
	position:relative;
}
.tab_menu .tab-list {
	overflow:hidden;
}
.tab_menu .tab-list li {
	float:left;
	margin-right:30px;
}
.tab_menu .tab-list li a {
	font-size: 20px;
	font-weight: 800;
	color: #c1c1c1;
}
.tab_menu .tab-list li.on a {
	color: #000;
}
.tab_menu .cont_area .cont {
	display:none;
	margin-top: 60px;
}
.tab_menu .tab-list:after {
	content: "";
	display: block;
	clear: both;	
}
.sub-list {
	display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
}
.sub-list li {
	    width: 33.33%;
}
.sub-list li a {
    display: block;
    padding: 6% 9% 10% 9%;
}
.sub-list li h3 {
	padding:16px 0 8px;
	font-size: 18px;
	font-weight:400;
	text-align: center;
}
.sub-list li h6 {
	font-size: 14px;
	font-weight:400;
	text-align: center;
	color:#676767;
}
/*//////////////// portfolio ////////////////*/


/*//////////////// 다크모드 ////////////////*/
body.dark-mode {
	background: #333;
}
body.dark-mode a, body.dark-mode h1, body.dark-mode .about > h1, body.dark-mode .about-me, body.dark-mode .about-point ul li strong,  body.dark-mode .about-point ul li {
	color: #fff;
}  
body.dark-mode .line-text {
	color: #4c4c4c;
	-webkit-text-stroke: 1px #4c4c4c;
}
body.dark-mode .footer small {
	color: #707070;
}
/*//////////////// 다크모드 ////////////////*/



@media all and (max-width:1280px){
	.section-in, .tab_menu .tab-list {
		width:90%;
	}
	.line-text {
		font-size: 15em;
	}
	.sub-list li a {
		padding: 6% 7% 10% 7%;
	}
}


@media all and (max-width:1024px){
	.line-text {
		font-size: 11em;
	}
}


@media all and (max-width:876px){
	.tab_menu .cont_area .cont {
		margin-top:20px;
	}
	.line-text {
		font-size: 8.5em;
	}
	.sub-list li {
		width: 50%;
	}
	.sub-list li a {
		padding: 6% 6% 10% 6%;
	}
}


@media all and (max-width:640px){
	.section-in, .tab_menu .tab-list, .tab_menu .cont_area .cont {
		margin-top: 20px;
	}
	.line-text {
		font-size: 7em;
	}
	.sub-list li {
		width: 50%;
	}
	.sub-list li a {
		padding: 6% 6% 10% 6%;
	}
	.about > h1 {
		margin-bottom: 20px;
		font-size: 20px;
	}
	.about-me {
		font-size: 15px;
	}
	.about-me p {
		margin-bottom: 14px;
	}
	.about-point h1 {
		position: relative;
		left: 0px;
		top: 0px;
		margin-bottom:20px;
		font-size: 34px;
		transform: rotate(0deg);
	}
	.about-point ul {
		float: none;
		width: 100%;
	}
	.about-point ul li strong {
		margin-bottom: 6px;
		font-size: 18px;
		line-height: 1.4;
		font-weight: 600;
		color: #000;
	}
	.about-point ul li {
		font-size: 15px;
		line-height: 1.6;
		font-weight: 400;
		color: #000;
	}
}


@media all and (max-width:540px){
	.section-in, .tab_menu .tab-list, .tab_menu .cont_area .cont {
		margin-top: 20px;
	}
	.tab_menu .tab-list li {
		margin-right: 20px;
	}
	.tab_menu .tab-list li a {
		font-size: 18px;
	}
	.line-text {
		font-size: 4em;
	}
	.sub-list li {
		width: 100%;
	}
	.sub-list li a {
		padding: 4% 0% 10% 0%;
	}
	.about > h1 {
		font-size: 18px;
	}
	.about-me {
		font-size: 14px;
	}
	.about-point h1 {
		font-size: 32px;
	}
	.about-point ul li strong {
		font-size: 17px;
	}
	.about-point ul li {
		font-size: 14px;
	}
}


@media all and (max-width:380px){
	.tab_menu .tab-list li {
		margin-right: 15px;
	}
}









