@charset "UTF-8";
@import url(cmn.css);
@import url(base.css);


/*---------------------
MV
---------------------*/
#mv{
	box-sizing: border-box;
}
#mv .wrapper{
	width: 95%;
	position: relative;
	height: 100%;
}
#mv {
    width: 100%;
    height: 100dvh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
	overflow: hidden;
}
#mv .mv_mov{
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
}
#mv .mv_mov::before{
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: #000;
	position:absolute;
	top: 0px;
	left: 0px;
	z-index:0;
	pointer-events: none;
	opacity: 0.4;
}
#mv video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 56% center;
}
#mv p,
#mv nav {
    position: relative;
    z-index: 10;
    pointer-events: none;
}
h1{
	max-width: 280px;
	width: 20%;
	text-align: center;
	padding: 20px 2.5%;
	background: var(--i_main_color);
	position: absolute;
	top: 0;
	left: 0;
	min-width: 110px;
}
h1 img{
	display: block;
	width: 100%;
}
#mv .insta{
	position: absolute;
	top: 50%;
	right: 2.5%;
	max-width: 24px;
	transform: translateY(-50%);
	z-index: 2;
}
#mv .insta a:hover{
	opacity: 0.8;
}
#mv .copy{
	position: absolute;
	right: 0;
	bottom: 0;
	color: #fff;
	font-size: clamp(2.9rem, 5vw, 5rem);
	text-align: right;
	line-height: 1.2;
}
#mv .copy br.sp{
	display: none;
}
#mv nav{
	padding-top: 200px;
	-webkit-tap-highlight-color: transparent;
}
#mv nav a {
	color: #fff;
	font-size: 2.5rem;
	letter-spacing: 0.25rem;
	transition: .2s ease-in-out;
	line-height: 2.5;
	padding-left: 30px;
	position: relative;
	pointer-events: auto;
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	background: transparent!important;
	-webkit-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
}
#mv nav a:active,
#mv nav a:focus{
	outline: none;
	background-color: transparent;
}
#mv nav a::before{
	display: block;
	content: "";
	width: 0.65em;
	aspect-ratio: 19 / 45;
	max-width: 19px;
	background: url(../images/clothe.webp) no-repeat center / contain;
	position:absolute;
	top: 50%;
	transform: translateY(-70%);
	left: 0px;
	z-index:0;
	pointer-events: none;
	opacity: 0;
	transition: .15s ease-in-out;
}
#mv nav a:hover:before{
	opacity: 1;
	transform: translateY(-50%);

}

#mv nav a:hover{
	color:#fff;
}
#mv .scrolldown{
	color: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: rotate(90deg) translateX(-75%) translateY(-100%);
	z-index: 10;
	font-size: 1.8rem;
	letter-spacing: 0.3rem;
	padding-right: 80px;
	transform-origin: left top;
	line-height: 1;
}
#mv .scrolldown::before{
	display: block;
	content: "";
	width: 50px;
	height: 1px;
	background: #fff;
	position:absolute;
	top: 50%;
	right: 0px;
	z-index:0;
	pointer-events: none;
	transition: all 0.3s ease-in-out;
}


@media screen and (max-width: 900px) and (max-width: 100vh){
	#mv nav{
		padding-top: 120px;
	}
	#mv nav a::before{
		opacity: 1;
		transform: translateY(-50%);
	}
}
@media screen and (max-width: 768px) {
	#mv .wrapper{
		width: 100%;
	}
	#mv nav a {
		font-size: 2.2rem;
		padding-left: 21px;
	}
	#mv .copy br.sp{
		display: inline;
	}
	#mv{
		padding: 30px 10px;
	}
	#mv .scrolldown{
		font-size: 1.2rem;
	}
}
@media screen and (max-width: 480px) {
	#mv nav a {
		font-size: 1.7rem;
	}
	#mv .insta{
		width: 20px;
	}
}
@media screen and (max-width: 400px) {
	#mv nav{
		padding-top: 80px;
	}
}

/*---------------------
Concept,About共通
---------------------*/

.text p{
	font-size: 2rem;
	line-height: 2.2;
	letter-spacing: .1rem;
}
.text p+p{
	margin-top: 4rem;
}
.text p.en{
	font-size: 1.6rem;
	letter-spacing: 0.05rem;
	font-family: "Shippori Mincho", serif;
}
@media screen and (max-width: 768px) {
	.text p{
		font-size: 1.7rem;
	}
	.text p+p{
		margin-top: 2.5rem;
	}
	.text p.en{
		font-size: 1.4rem;
	}
}

/*---------------------
Concept
---------------------*/
main{
	background: transparent;
	position: relative;
	z-index: 11;
	margin-top: 100vh;
	clip-path: inset(0);
}
main::before{
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: url(../images/bg_main.jpg) no-repeat center / cover;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index:-1;
	pointer-events: none;
}
#concept{
	position: relative;
	width: 100%;
}


#concept .wrapper{
	margin-right: 0;
	padding: 12rem 20px;
	width: 85%;
}
#concept .flex{
	gap: 0 10%;
	align-items: flex-start;
}
#concept .picture{
	width: 40%;
	position: sticky;
	height: 100vh;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
#concept .main_img{
	aspect-ratio: 3 / 4;
	overflow: hidden;
	margin: 0 auto;
	max-height: 90vh;
}
#concept .main_img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 1s ease, transform 3s linear;
	will-change: opacity, transform;
}
#concept .text{
	margin-top: 20vh;
}
#concept .text p{
	padding-right: 7vw;
}
#concept .item figure:not(.sp_only){
	max-width: 50%;
}
#concept .inner1 figure:not(.sp_only){
	text-align: right;
	margin: 7rem 0 10rem;
}
#concept .inner2 figure:not(.sp_only){
	margin: 7rem auto 10rem;
	text-align: center;
}
#concept .inner3 figure:not(.sp_only){
	margin: 12rem auto 7rem 10%;
	text-align: center;
}
#concept .inner4{
	min-height: 90vh;
}
#concept .sp_only{
	display: none;
}
#concept .item figure img {
    backface-visibility: hidden;
    perspective: 1000;
}
#concept .signature{
	text-align: right;
	font-size: 1.5rem;
	margin-top: 5rem;
}
#concept .signature img{
	margin-top: 10px;
}

/* ミシン目 */
#concept .stitch,
#about .stitch{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 1;
}
.stitch-svg {
	width: 96%;
	height: 100%;
	margin-left: 2%;
}
.concept_path,
.about_path{
	fill: none;
	/* stroke: rgba(169, 167, 167, 0.8); */
	stroke-width: 1.5px;
	stroke-dasharray: 3 9;
	stroke-linecap: round;
	mix-blend-mode: multiply;
	transition: clip-path 30s linear;
	clip-path: inset(0 0 100% 0);
	will-change: clip-path;
}
.about_path{
	transition-duration: 30s;
}

.concept_path.is-sewing,
.about_path.is-sewing {
	clip-path: inset(0 0 0 0) !important;
}
.stitch-svg.sp{
	display: none;
}
@media screen and (max-width: 1200px) {
	#concept .wrapper{
		width: 100%;
		margin: 0 auto;
	}
}
@media screen and (max-width: 950px) {
	#concept .wrapper{
		padding: 10rem 20px;
	}
	#concept .picture{
		display: none;
	}
	#concept .sp_only{
		display: block;
		margin: 5rem auto;
	}
	#concept .flex>*{
		width:100%;
	}
	#concept .text{
		margin-top: 0;
	}
	#concept .inner1 figure:not(.sp_only),
	#concept .inner2 figure:not(.sp_only){
		margin-bottom: 0;
	}

	#concept .item figure.sp_only img{
		max-width: 80%;
	}
	#concept .item:nth-of-type(odd) figure.sp_only{
		text-align: right;
	}
	#concept .inner4{
		min-height: 0;
	}
	.stitch-svg.pc{
		display: none;
	}
	.stitch-svg.sp{
		display: block;
	}
}
@media screen and (max-width: 480px) {
	#concept .text p{
		padding-right: 0;
	}
	#concept .signature{
		font-size: 1.3rem;
	}
	#concept .signature img{
		width: 45%;
		max-width: 100%;
	}
}


/*---------------------
sv
---------------------*/
#sv{
	height: 110vh;
	position: relative;
	clip-path: inset(0 0 0 0);
}
#sv .bg{
	position: fixed;
	background: url(../images/bg1.webp) no-repeat top center / cover;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    z-index: -1;
}

/*---------------------
About Lunéville Embroidery
---------------------*/
#about{
	position: relative;
	width: 100%;
}
#about .wrapper{
	margin-right: 0;
	padding: 12rem 20px 0;
	width: 85%;
}
#about .flex{
	gap: 0 10%;
	align-items: flex-start;
}
#about .article1{
	flex-direction: row-reverse;
}

#about .mov{
	position: sticky;
	height: 100vh;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
#about .article2 .mov{
	top: 5rem;
}
#about .mov::before{
	display: block;
	content: "";
	width: 60%;
	height: 75%;
	background: var(--i_main_color);
	position:absolute;
	bottom: 0px;
	right: -20px;
	z-index: -1;
	pointer-events: none;
	opacity: .9;
}

#about .article1 .text{
	width: 40%;
}
#about .mov video{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
#about .article1 .main_mov{
	padding-right: 5vw;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	margin: 0 auto;
	max-height: 85vh;
}
#about .inner1 figure{
	margin: 7rem auto 10rem -10%;
}
#about .inner2 figure{
	margin: 7rem auto 10rem 0;
	width: 50%;
}

#about .text{
	margin-top: 10rem;
}
#about .article2{
	margin-top: 10rem;
}
#about .article2 .text{
	width: 50%;
}
#about .article2 .mov{
	width: 50%;
	margin-left: -10%;
	align-items: flex-start;
	padding-top: 7rem;
}
#about .article2 .mov::before{
	top: 0;
	bottom: auto;
	left: -30%;
	width: 100%;
	height: 50%;
	right: auto;
	background: var(--i_sub_color);
}
#about .article2 .main_mov{
	aspect-ratio: 4 / 3;
}
#about .article2 .text p{
	padding-right: 7vw;
}
#about .article2 figure{
	margin: 7rem auto 10rem;
	text-align: center;
	width: 70%;
}
#about .inner4{
	min-height: 70vh;
}
@media screen and (max-width: 1200px) {
	#about .wrapper{
		width: 100%;
		margin: 0 auto;
		padding: 12rem 20px;
	}
	#about .inner1 figure{
		margin: 7rem auto 10rem;
	}
	#about .article2 .mov{
		margin-left: 0%;
	}
	#about .article2 .mov{
		width: 40%;
	}
	#about .article2 .mov::before{
		height: 40%;
		left: -20%;
	}
	#about .article2{
		margin-top: 7rem;
	}
}
@media screen and (max-width: 950px) {
	#about .wrapper{
		padding: 10rem 20px;
	}
	#about .mov{
		position: static;
		height: auto;
		position: relative;
		padding-bottom: 5rem;
	}
	#about .mov::before{
		right: -20px;
		width: 90%;
		height: 90%;
	}
	#about .article1,
	#about .article2{
		flex-direction: column;
	}
	#about .flex>*,
	#about .article1 .text,
	#about .article2 .text,
	#about .article2 .mov{
		width:100%;
	}
	#about .text{
		margin-top: 5rem;
	}
	#about .article1 .main_mov,
	#about .article2 .text p{
		padding-right: 0;
	}
	#about .article2{
		margin-top: 0;
	}
	#about .inner4{
		min-height: 0;
	}
	#about .article2 .main_mov{
		width: 85%;
		margin-right: auto;
		margin-left: 0;
	}
	#about .article2 .mov{
		padding-top: 5rem;
		padding-bottom: 0;
	}
	#about .article2 .mov::before{
		height: 60%;
	}
	#about .article1 figure,
	#about .article2 figure{
		margin: 5rem 0 5rem auto;
	}
	#about .article2 .mov + .text{
		margin-top: 8rem;
	}
}

/*---------------------
Works
---------------------*/
#works{
	background: var(--i_main_color);
    width: 100%;
    position: relative;
}
#works #matter_container {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
    z-index: 1;
	overflow: hidden;
	background-color: transparent;
}
#works canvas {
	width: 100%;
    height: 100%;
    display: block;
    filter: drop-shadow(8px 8px 15px #4b8a30);
	will-change: transform;
	cursor: none;
	touch-action: pan-y;
	object-fit: contain;
}
#works .main_container {
    z-index: 2;
    margin-top: -100vh;
	height: 150vh;
	pointer-events: none;
}
#works .wrapper{
	padding-top: 15rem;
	position: sticky;
	top: 0;
	pointer-events: auto;
	height: 100vh;
}
#works h2{
	padding-left: 0;
	color: var(--i_sub_color);
	text-align: center;
}
#works h2::before{
	display: none;
}
#works .subttl{
	color: var(--i_sub_color);
	text-align: center;
}
#works .add_text{
	text-align: center;
	font-size: 1.5rem;
}
@media screen and (max-width: 900px) {
	#works{
		height: 95dvh;
	}
	#works #matter_container {
		height: 95dvh;
	}
	#works .main_container {
		margin-top: -95dvh;
		height: 95dvh;
	}
	#works .wrapper{
		height: 95dvh;
		padding-top: 10rem;
	}
	#works canvas {
		height: 126%;
		filter: drop-shadow(5px 5px 8px #4b8a30);
		cursor: auto;
		anchor-name: none;
		object-fit: cover;
	}
}

/* --- カスタムカーソル --- */

.custom-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background-color: rgba(243,59,173, 0.7);
    border-radius: 50%;
    pointer-events: none;
    z-index: 10000;
    transform: translate(-50%, -50%);
	opacity: 0;
    visibility: hidden;
    transition: width 0.3s, height 0.3s, background-color 0.3s, transform 0.1s ease-out;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.custom-cursor-text {
    font-size: 1.7rem;
    color: #fff;
    opacity: 0;
    transition: opacity 0.3s;
    letter-spacing: 0.1em;
}

.custom-cursor.is-hover {
    width: 70px;
    height: 70px;
    background-color: rgba(243,59,173, 0.9); /* 塗りつぶす */
}

.custom-cursor.is-hover .custom-cursor-text {
    opacity: 1;
}
@media screen and (max-width: 900px) {
	#works canvas {
		cursor: pointer;
	}
	.custom-cursor{
		display: none!important;
	}
}

/* modal */
.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    z-index: 9999!important;
    align-items: center;
    justify-content: center;
}

.modal_overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(10px);
}

.modal_content {
    position: relative;
    width: 90%;
    max-width: 1000px;
    max-height: 95vh;
    padding: 40px;
    overflow-y: auto;
    border-radius: 4px;
    transform: translateY(20px);
    transition: transform 0.3s ease;
	z-index: 100000;
	overflow: hidden;
	color: #fff;
}
.modal h3,
.modal p{
	text-align: center;
}
.modal h3{
	margin-bottom: 4rem;
	line-height: 1;
}
.modal p{
	margin-top: 2rem;
}

.modal.is-open {
    display: flex!important;
}

.modal.is-open .modal_content {
    transform: translateY(0);
}

.modal_close {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 30px;
    cursor: pointer;
}
@media screen and (max-width: 480px) {
	.modal_content{
		padding: 20px;
		width: 100%;
	}
}

/* slick */
.slick-track{
	position: relative;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.slick-arrow{
	display: block;
	text-indent: -10000px;
	outline:none;
	line-height:1px;
	font-size:1px;
	height: 30px;
	width: 30px;
	cursor: pointer;
	position: absolute;
	top: calc(50% - 15px);
	left: 0;
	z-index: 100;
	border: none;
}
.slick-arrow{
	right: auto;
	left: -10px;
}
.slick-next{
	left: auto;
	right: -10px;
}
.slick-arrow:before{
	content: "";
	display: block;
	width:20px;
	height:20px;
	position: absolute;
	top: calc(50% - 10px);
	border-top: 1px solid var(--white);
	border-left: 1px solid var(--white);
}
.slick-prev:before{
	transform: rotate(-45deg);
	left: calc(50% - 0px);
}
.slick-next:before{
	transform: rotate(135deg);
	left: calc(50% - 20px);
}
.slick-dots{
	display: table!important;
	margin: 30px auto 0;
}
.slick-dots li{
	display: table-cell;
	padding: 0 3px;
}
.slick-dots li button{
	display: block;
	text-indent: -10000px;
	outline:none;
	line-height:1px;
	font-size:1px;
	background-color: #ccc;
	width: 7px;
	height: 7px;
	border-radius: 100%;
	border: none;
	cursor: pointer;
}
.slick-dots .slick-active button{
	background-color: var(--i_sub_color);
}

.slick_slider img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 70vh;
    margin: 0 auto;
    object-fit: contain;
}


/*---------------------
Contact
---------------------*/
#contact{
	padding: 15rem 0;
	background: #fff;
}
#contact .wrapper.flex{
	max-width: 1400px;
	align-items: stretch;
	gap: 10rem 0;
}
#contact h2{
	margin-bottom: 5rem;
}
#contact .cta{
	width: 40%;
}
#contact .text{
	padding-right: 2.5%;
}
#contact .cta{
	padding-left: 2.5%;
	border-left: 1px solid #ccc;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5rem 0;
}
#contact .cta .btn{
	max-width: 350px;
	width: 80%;
}
#contact .cta .btn a{
	display: block;
}
#contact .cta .btn a span{
	position: relative;
	padding-left: 1.6em;
}
#contact .cta .btn a span::before{
	display: block;
	content: "";
	height: 1.3em;
	aspect-ratio: 1;
	background: #fff;
	mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2248px%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2248px%22%20fill%3D%22%23ffffff%22%3E%3Cpath%20d%3D%22M157.69-180q-23.53%200-40.61-17.08T100-237.69v-484.62q0-23.53%2017.08-40.61T157.69-780h644.62q23.53%200%2040.61%2017.08T860-722.31v484.62q0%2023.53-17.08%2040.61T802.31-180H157.69ZM480-473.92%20145.39-695.39v457.7q0%205.38%203.46%208.84t8.84%203.46h644.62q5.38%200%208.84-3.46t3.46-8.84v-457.7L480-473.92Zm0-47.7%20325.61-212.99H155.39L480-521.62ZM145.39-695.39v-39.22V-237.69q0%205.38%203.46%208.84t8.84%203.46h-12.3v-470Z%22%2F%3E%3C%2Fsvg%3E');
	mask-repeat: no-repeat;
	mask-size: contain;
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0px;
	z-index:0;
	pointer-events: none;
	transition: 0.3s ease-in-out;
}
#contact .cta .btn a:hover span::before{
	background: var(--i_sub_color);
}
#contact .cta .btn:nth-of-type(2) a{
	background: #fff;
	color: var(--i_sub_color)!important;
}
#contact .cta .btn:nth-of-type(2) a span::before{
	height: 1em;
	background: var(--i_sub_color);
	mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22Layer_1%22%20data-name%3D%22Layer%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%3E%3Cpath%20d%3D%22M295.42%2C6c-53.2%2C2.51-89.53%2C11-121.29%2C23.48-32.87%2C12.81-60.73%2C30-88.45%2C57.82S40.89%2C143%2C28.17%2C175.92c-12.31%2C31.83-20.65%2C68.19-23%2C121.42S2.3%2C367.68%2C2.56%2C503.46%2C3.42%2C656.26%2C6%2C709.6c2.54%2C53.19%2C11%2C89.51%2C23.48%2C121.28%2C12.83%2C32.87%2C30%2C60.72%2C57.83%2C88.45S143%2C964.09%2C176%2C976.83c31.8%2C12.29%2C68.17%2C20.67%2C121.39%2C23s70.35%2C2.87%2C206.09%2C2.61%2C152.83-.86%2C206.16-3.39S799.1%2C988%2C830.88%2C975.58c32.87-12.86%2C60.74-30%2C88.45-57.84S964.1%2C862%2C976.81%2C829.06c12.32-31.8%2C20.69-68.17%2C23-121.35%2C2.33-53.37%2C2.88-70.41%2C2.62-206.17s-.87-152.78-3.4-206.1-11-89.53-23.47-121.32c-12.85-32.87-30-60.7-57.82-88.45S862%2C40.87%2C829.07%2C28.19c-31.82-12.31-68.17-20.7-121.39-23S637.33%2C2.3%2C501.54%2C2.56%2C348.75%2C3.4%2C295.42%2C6m5.84%2C903.88c-48.75-2.12-75.22-10.22-92.86-17-23.36-9-40-19.88-57.58-37.29s-28.38-34.11-37.5-57.42c-6.85-17.64-15.1-44.08-17.38-92.83-2.48-52.69-3-68.51-3.29-202s.22-149.29%2C2.53-202c2.08-48.71%2C10.23-75.21%2C17-92.84%2C9-23.39%2C19.84-40%2C37.29-57.57s34.1-28.39%2C57.43-37.51c17.62-6.88%2C44.06-15.06%2C92.79-17.38%2C52.73-2.5%2C68.53-3%2C202-3.29s149.31.21%2C202.06%2C2.53c48.71%2C2.12%2C75.22%2C10.19%2C92.83%2C17%2C23.37%2C9%2C40%2C19.81%2C57.57%2C37.29s28.4%2C34.07%2C37.52%2C57.45c6.89%2C17.57%2C15.07%2C44%2C17.37%2C92.76%2C2.51%2C52.73%2C3.08%2C68.54%2C3.32%2C202s-.23%2C149.31-2.54%2C202c-2.13%2C48.75-10.21%2C75.23-17%2C92.89-9%2C23.35-19.85%2C40-37.31%2C57.56s-34.09%2C28.38-57.43%2C37.5c-17.6%2C6.87-44.07%2C15.07-92.76%2C17.39-52.73%2C2.48-68.53%2C3-202.05%2C3.29s-149.27-.25-202-2.53m407.6-674.61a60%2C60%2C0%2C1%2C0%2C59.88-60.1%2C60%2C60%2C0%2C0%2C0-59.88%2C60.1M245.77%2C503c.28%2C141.8%2C115.44%2C256.49%2C257.21%2C256.22S759.52%2C643.8%2C759.25%2C502%2C643.79%2C245.48%2C502%2C245.76%2C245.5%2C361.22%2C245.77%2C503m90.06-.18a166.67%2C166.67%2C0%2C1%2C1%2C167%2C166.34%2C166.65%2C166.65%2C0%2C0%2C1-167-166.34%22%20transform%3D%22translate(-2.5%20-2.5)%22%2F%3E%3C%2Fsvg%3E');
}
#contact .cta .btn:nth-of-type(2) a:hover{
	background: var(--i_sub_color);
	color: #fff!important;
}
#contact .cta .btn:nth-of-type(2) a:hover span::before{
	background: #fff;
}
#contact .cta .btn:first-child{
	position: relative;
}
#contact .cta .btn:first-child::before{
	display: block;
	content: "";
	width: 27%;
	aspect-ratio: 178 / 183;
	max-width: 175px;
	background: url(../images/charactor.webp) no-repeat center / contain;
	position:absolute;
	top: 0px;
	right: 15px;
	z-index: 1;
	pointer-events: none;
	transform: translateY(-91%);
}

@media screen and (max-width: 950px) {
	#contact{
		padding: 10rem 0;
  }
	#contact h2 {
    margin-bottom: 3rem;
	}
}
@media screen and (max-width: 900px) {
	#contact .wrapper.flex{
		flex-direction: column;
	}
	#contact .wrapper.flex > *{
		width: 100%;
	}
	#contact .text,
	#contact .cta{
		padding: 0;
		border: none;
	}
	#contact .cta{
		gap: 3rem 0;
	}
}

/*---------------anittl---------------------------*/
.anittl>span{
    opacity: 0;
}

.anittl .is-active {
    -webkit-animation: ani-ttl 1.5s cubic-bezier(0.77, 0, 0.175, 1) forwards 0.5s;
    animation: ani-ttl 1.5s cubic-bezier(0.77, 0, 0.175, 1) forwards 0.5s;
    animation-fill-mode:forwards;
}

@-webkit-keyframes ani-ttl {
  from {
    opacity: 0;
    visibility: visible;
    -webkit-filter: blur(5px);
            filter: blur(5px); }
  to {
    opacity: 1;
    -webkit-filter: none;
            filter: none;
    visibility: visible; } }

@keyframes ani-ttl {
  from {
    opacity: 0;
    visibility: visible;
    -webkit-filter: blur(5px);
            filter: blur(5px); }
  to {
    opacity: 1;
    -webkit-filter: none;
            filter: none;
    visibility: visible; }
}
