@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500..900&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
}
img {
		border: none;
		vertical-align: top;
}
@media(max-width: 767px) {
		html.bodyLock {
				overflow: hidden
		}
}
body {
		color: #222;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 16px;
		font-weight: 500;
		background: #FAFAFA;
		line-height: 1;
}
@media(max-width: 767px) {
		body {
				font-size: 15px;
		}
}
h1, h2, h3, h4, h5, p, li {
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
.page_shell {
		max-width: 3000px;
		margin: 0 auto;
		overflow-x: clip;
}
/* ============== */
header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 120px;
		background: #fff;
		z-index: 5000
}
.header_inner {
		display: flex;
		align-items: center;
		height: 120px;
		width: 100%;
		padding-left: 60px;
		padding-right: 60px;
		box-sizing: border-box;
		justify-content: space-between;
}
.header_logo {
		width: 217px;
		position: relative;
		top: 2px;
}
.header_logo img {
		width: 100%;
		height: auto;
}
.header_inner nav {
		display: flex;
		align-items: center;
}
.header_inner nav ul {
		list-style: none;
		display: flex;
		align-items: center;
}
.header_inner nav ul li {
		font-size: 16px;
		font-weight: 500;
		margin-right: 30px;
}
.header_inner nav ul li a {
		color: #222;
		text-decoration: none;
}
@media (hover: hover) {
		.header_inner nav ul li a:hover {
				color: #C3392C;
		}
}
.header_insta {
		width: 20px;
		margin-right: 40px;
}
.header_insta img {
		width: 100%;
		height: auto;
		transition: opacity 0.2s;
}
.header_insta a {
		display: block;
		text-decoration: none;
		width: 20px;
		height: 20px;
		position: relative;
}
.header_insta a::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 20px;
		height: 20px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 20px;
		background-image: url("../images/icon_insta_red.png");
		opacity: 0;
		transition: opacity 0.2s;
}
.isFirst .header_insta a::after {
		display: none
}
.header_btn {
		width: 185px;
		font-size: 16px;
		font-weight: 500;
		border-radius: 60px;
		overflow: hidden;
		height: 40px;
		transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.header_btn:hover {
				transform: scale(0.92)
		}
}
.header_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		background: #C3392C;
		text-decoration: none;
		color: #fff;
		position: relative;
		height: 40px;
}
.header_btn a::before, .header_btn a::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 40px;
		box-sizing: border-box;
}
.header_btn a::before {
		background: #fff;
		width: calc(100% + 20px);
		transform: skewX(15deg);
		left: -210px;
		transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.header_btn a::after {
		border: 1px solid #C3392C;
		height: 40px;
		border-radius: 60px;
		z-index: 5
}
.header_btn a span {
		transform: translateY(-1px);
		position: relative;
		padding-left: 22px;
		z-index: 1;
}
.header_btn a span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		left: 0;
		width: 15px;
		height: 11px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 15px;
		background-image: url("../images/icon_mail_wht.png")
}
@media (hover: hover) {
		.header_insta a:hover img {
				opacity: 0
		}
		.isFirst .header_insta a:hover img {
				opacity: 1
		}
		.header_insta a:hover::after {
				opacity: 1
		}
		.header_btn a:hover {
				color: #C3392C;
				text-decoration: none;
		}
		.header_btn a:hover::before {
				left: 0
		}
		.header_btn a:hover span::after {
				background-image: url("../images/icon_mail_red.png")
		}
}
@media(max-width: 1300px) {
		.header_inner {
				padding-left: 20px;
				padding-right: 20px;
		}
		.header_inner nav ul li {
				margin-right: 20px;
		}
		.header_insta {
				margin-right: 20px;
		}
		.header_btn {
				width: 160px;
		}
}
@media(max-width: 1100px) {
		.header_logo {
				width: 180px;
		}
		.header_inner nav ul li {
				margin-right: 15px;
		}
}
@media(max-width: 960px) {
		header, .header_inner {
				height: 80px;
		}
		.header_logo {
				width: 217px;
		}
		.header_right {
				display: none
		}
}
@media(max-width: 767px) {
		header, .header_inner {
				height: 60px;
		}
		.header_logo {
				width: 150px;
		}
}
/* ============== */
@media(min-width: 961px) {
		.sp_nav {
				display: none;
		}
}
.sp_nav, .sp_nav_trigger, .sp_nav_trigger::after {
		width: 80px;
		height: 80px
}
.sp_nav {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 7000;
}
.sp_nav_trigger {
		background: none;
		border: none;
		cursor: pointer;
		display: inline-block;
		position: relative;
}
.sp_nav_trigger::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		background: #C3392C;
		pointer-events: none;
		z-index: 1;
		transition: background 0.2s;
}
.sp_nav_trigger.navOpen::after {
		background: #fff;
}
.sp_nav_trigger .sp_nav_trigger_bar {
		display: block;
		position: absolute;
		top: 39px;
		left: 25px;
		height: 2px;
		width: 30px;
		background: #fff;
		z-index: 2;
}
.sp_nav_trigger .sp_nav_trigger_bar:first-child, .sp_nav_trigger .sp_nav_trigger_bar:nth-child(2), .sp_nav_trigger .sp_nav_trigger_bar:nth-child(3) {
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s;
}
.sp_nav_trigger .sp_nav_trigger_bar:first-child {
		top: 32px;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(2), .sp_nav_trigger .sp_nav_trigger_bar:nth-child(4), .sp_nav_trigger .sp_nav_trigger_bar:nth-child(5) {
		top: 39px;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3) {
		top: 46px;
}
@media(max-width: 767px) {
		.sp_nav, .sp_nav_trigger, .sp_nav_trigger::after {
				width: 60px;
				height: 60px
		}
		.sp_nav {
				top: 0;
				right: 0;
		}
		.sp_nav_trigger .sp_nav_trigger_bar {
				top: 39px;
				left: 18px;
				height: 2px;
				width: 24px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:first-child {
				top: 24px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:nth-child(2), .sp_nav_trigger .sp_nav_trigger_bar:nth-child(4), .sp_nav_trigger .sp_nav_trigger_bar:nth-child(5) {
				top: 29px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3) {
				top: 34px;
		}
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(4) {
		transform: rotate(45deg);
		background: none;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(5) {
		transform: rotate(-45deg);
		background: none;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(4)::before, .sp_nav_trigger .sp_nav_trigger_bar:nth-child(5)::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #C3392C;
		transform: scaleX(0);
		transform-origin: right center;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(4)::before {
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(5)::before {
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:first-child {
		transform: translateY(7px) scaleX(0);
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(2) {
		opacity: 0;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(3) {
		transform: translateY(-7px) scaleX(0);
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(4)::before, .sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(5)::before {
		transform: scaleX(1);
}
.navBoard {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 6000;
		display: none;
		background: #C3392C;
}
@media(max-width: 767px) {
		.navBoard .header_logo {
				position: absolute;
				top: 19px;
				left: 20px;
				width: 150px;
		}
}
.navBoard_inner {
		display: flex;
		justify-content: center;
		align-items: center;
}
.navBoard_inner_menu li {
		list-style: none;
		text-align: center;
		font-size: 16px;
}
.navBoard_inner_menu li a {
		text-decoration: none;
		color: #fff;
		display: inline-block;
		padding: 10px 0;
}
.navBoard_inner_menu li .en {
		font-size: 20px;
		font-family: "Montserrat", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-weight: 800;
		color: #fff;
		letter-spacing: 0.07em;
		margin: 0 0 3px;
		display: inline-block;
}
/* ======== */
footer {
		background: #F3F1F1;
		min-height: 200px;
}
.footer_inner {
		padding-left: 60px;
		display: flex;
		justify-content: space-between;
		position: relative;
}
.footer_left {
		flex: 1;
		padding: 50px 0;
}
.footer_logo {
		width: 270px;
		margin: 0 0 25px;
}
.footer_logo img {
		width: 100%;
		height: auto;
}
.footer_right {
		width: 840px;
		display: flex;
}
.footer_nav {
		flex: 1;
		display: flex;
		padding-top: 50px;
}
.footer_nav_mn a {
		color: #222;
		text-decoration: none;
}
@media (hover: hover) {
		.footer_nav_mn a:hover {
				color: #C3392D;
		}
}
.footer_nav ul {
		list-style: none;
		margin-right: 50px;
}
.footer_nav_mn li {
		font-size: 15px;
		margin: 0 0 20px;
		list-style: none;
}
.footer_nav_mn .en {
		font-size: 16px;
		font-family: "Montserrat", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-weight: 600;
		color: #C3392D;
		letter-spacing: 0.04em;
		margin: 0 0 6px;
		display: inline-block;
}
.footer_contact {
		background: #C3392D;
		padding: 35px 70px;
		box-sizing: border-box;
		width: 340px;
}
.footer_contact_btn {
		font-size: 17px;
		font-weight: 500;
		letter-spacing: 0.05em;
		border-radius: 24px;
		overflow: hidden;
		transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.footer_contact_btn:hover {
				transform: scale(0.95)
		}
}
.footer_contact .footer_contact_btn:first-child {
		margin-bottom: 17px;
}
.footer_contact_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		color: #fff;
		text-decoration: none;
		height: 90px;
		box-sizing: border-box;
		position: relative;
		background: #B32518;
}
.footer_contact_btn a::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 90px;
		box-sizing: border-box;
		pointer-events: none
}
.footer_contact_btn a::before {
		background: #fff;
		width: calc(100% + 20px);
		transform: skewX(15deg);
		left: -230px;
		transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.footer_contact_btn a span {
		display: inline-block;
		padding-top: 32px;
		position: relative;
}
.footer_contact_btn a span::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: calc(50% - 11.5px);
		width: 23px;
		height: 23px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: cover;
}
.footer_contact_btn a span.mail::before {
		background-image: url("../images/footer_icon_mail_wht.png");
}
.footer_contact_btn a span.insta::before {
		background-image: url("../images/footer_icon_insta_wht.png");
}
.footer_inner .copyright {
		position: absolute;
		bottom: 40px;
		left: 60px;
		font-size: 14px;
		font-weight: 500;
		letter-spacing: 0.03em
}
@media (hover: hover) {
		.footer_contact_btn a:hover {
				color: #B32518;
		}
		.footer_contact_btn a:hover::before {
				left: -10px;
		}
		.footer_contact_btn a:hover span.mail::before {
				background-image: url("../images/footer_icon_mail_red.png");
		}
		.footer_contact_btn a:hover span.insta::before {
				background-image: url("../images/footer_icon_insta_red.png");
		}
}
@media(max-width: 1300px) {
		.footer_inner {
				padding-left: 30px;
		}
		.footer_left {
				width: auto;
				flex: 1;
		}
		.footer_right {
				width: 660px;
		}
		.footer_nav ul {
				margin-right: 30px;
		}
		.footer_inner .copyright {
				position: absolute;
				bottom: 20px;
				left: 30px;
		}
		.footer_logo {
				width: 200px;
				margin: 0 0 25px;
		}
		.footer_nav_mn .en {
				font-size: 14px;
		}
		.footer_contact {
				padding: 30px;
				width: 250px;
		}
}
@media(min-width: 1101px) {
		.midObj {
				display: none
		}
}
@media(max-width: 1100px) {
		.footer_left {
				padding: 30px 0;
		}
		.footer_left p {
				font-size: 14px;
		}
		.footer_right {
				width: auto;
		}
		.footer_nav {
				display: none;
		}
		.footer_nav_mn {
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
				width: 290px;
				padding-top: 30px;
				padding-bottom: 30px;
		}
		.footer_nav_mn li {
				margin: 0 0 20px;
		}
		.footer_nav_mn li:nth-child(odd) {
				width: 35%;
		}
		.footer_nav_mn li:nth-child(even) {
				width: 65%;
		}
		.footer_contact {
				padding: 30px 20px;
				width: 200px;
		}
}
@media(max-width: 960px) {
		.footer_left p {
				font-size: 13px;
		}
		.footer_nav_mn {
				width: 260px;
		}
		.footer_nav_mn .en {
				font-size: 13px;
		}
		.footer_nav_mn li {
				font-size: 14px;
		}
		.footer_contact {
				padding: 30px 15px;
				width: 190px;
		}
}
@media(max-width: 767px) {
		.footer_inner {
				display: flex;
				flex-direction: column-reverse;
				padding-left: 0;
		}
		.footer_contact {
				padding: 35px 40px;
				width: auto;
		}
		.footer_contact_btn a {
				height: 70px;
				border-radius: 16px;
				padding-left: 12px;
		}
		.footer_contact_btn a::before {
				height: 70px;
				left: -110%;
		}
		.footer_contact_btn a span {
				display: flex;
				justify-content: center;
				align-items: center;
				padding-top: 0;
		}
		.footer_contact_btn a span::before {
				top: calc(50% - 10px);
				left: -38px;
		}
		.footer_right {
				width: auto;
				display: flex;
				flex-direction: column-reverse;
		}
		.footer_left {
				display: none;
		}
		.footer_logo {
				width: 190px;
				margin: 0 auto;
				padding: 35px 0;
				position: relative;
				left: -10px
		}
		.footer_logo + p {
				text-align: center;
		}
		.sp_footer_nav {
				padding: 0;
		}
		.footer_nav_mn {
				width: 250px;
				margin: 0 auto;
				padding-bottom: 0;
		}
		.footer_nav_mn li:nth-child(odd) {
				width: 50%;
		}
		.footer_nav_mn li:nth-child(even) {
				width: 50%;
		}
		.footer_nav_mn li:last-child {
				white-space: nowrap
		}
		.copyright {
				text-align: center;
				font-size: 13px;
				padding: 20px 0 30px;
		}
}

/* ==================== */
/* ==================== */
*::selection {
		background: #ccc !important;
		-webkit-background-clip: inherit;
		-webkit-text-fill-color: #ccc;
		color: #B32518;
}
::-moz-selection {
		background: #ccc;
}


::-webkit-scrollbar {
		width: 10px;
		height: 10px;
}
::-webkit-scrollbar-track {
		background-color: #f5f5f5;
}
::-webkit-scrollbar-thumb {
		background-color: #B32518;
}
