@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;900&family=Kosugi+Maru&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;500;600;700&display=swap');
/*--------------------------------
	Common
--------------------------------*/
a {
	transition: .3s !important;
}
img {
    image-rendering: -webkit-optimize-contrast;
}

@media all and (min-width: 1200px) {
	.sp { display: none !important; }
	a[href^="tel:"] {
		cursor: default;
		pointer-events: none;
	}
}
@media all and (max-width: 1199px) {
	.pc { display: none !important; }
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
.btn a {
	position: relative;
	display: flex;
	align-items: center;
	width: 40rem;
	height: 9rem;
	padding: 0 0 0 5rem;
	box-sizing: border-box;
	border: 0.1rem solid #FFE7AC;
	border-radius: 10rem;
	background: #FFF;
	font-size: 2rem;
	font-weight: 600;
	color: #F7790D;
	letter-spacing: 0.03em;
	transition: .3s;
}
.btn a::before {
	position: absolute;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	z-index: 0;
	border-radius: 10rem;
	background: #FFF;
	opacity: 0;
	transition: .3s;
}
.btn a:hover {
	color: #FFF;
}
.btn a:hover::before {
	background: linear-gradient(to right, #FDBD23, #FC8C62);
	opacity: 1;
}
.btn span {
	position: relative;
	left: 0;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}
.btn span::before {
	position: absolute;
	top: 28%;
	right: 3.5rem;
	content: "";
	display: inline-block;
	width: 4rem;
	height: 4rem;
	border-radius: 100%;
	background: linear-gradient(to right, #FDBD23, #FC8C62);
	opacity: 1;
	transition: .3s;
}
.btn a:hover span::before {
	opacity: 0;
}
.btn span::after {
	position: absolute;
	top: 45%;
	right: 4.9rem;
	content: "";
	display: inline-block;
	width: 1.2rem;
	height: 1rem;
	background: url("/images/common/icon-arrow.svg") no-repeat;
}
@media all and (max-width: 1199px) {
	.btn a {
		width: 100%;
	}
	.btn span::after {
		right: 3.5rem;
	}
	.btn span::before {
		right: 2rem;
	}
}
.title h2 span {
	display: block;
}
.title h2 span.jp {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 500;
	font-size: 4rem;
	letter-spacing: 0.07em;
	line-height: 1.8;
}
.title h2 span.en {
	padding: 0 0 0 1.2rem;
	position: relative;
	font-family: 'Barlow', sans-serif;
	font-size: 1.5rem;
	font-weight: 600;
	color: #F78B0D;
	letter-spacing: 0.15em;
}
.title h2 span.en::before {
	position: absolute;
	left: 0;
	top: 39%;
	content: "";
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 100%;
	background: #FDBD23;
}
@media all and (max-width: 1199px) {
	.title h2 span.jp {
		font-size: 2.8rem;
	}
}
