@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,100..900&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
}
table {
		border-collapse: collapse;
}
img {
		border: none;
		vertical-align: top;
}
.clear {
		clear: both;
}
body {
		font-weight: 400;
		color: #000;
		background-color: #F1E9E3;
		font-size: 16px;
		font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
		line-height: 1;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
}
body.bodyLock, html.bodyLock {
		overflow: hidden
}
@media(max-width: 767px) {
		body {
				font-size: 15px;
		}
}
h1, h2, h3, h4, h5, h6 {
		font-weight: normal;
}
h1, h2, h3, h4, h5, p, li, dt, dd {
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
.page_shell {
		overflow-x: clip;
}
.hdr_corporate_logo {
		position: absolute;
		top: 0;
		left: 110px;
		width: 14.1666666667vw;
		width: 135px;
		z-index: 5000;
}
.hdr_corporate_logo img {
		width: 100%;
		height: auto;
}
@media (max-width: 767px) {
		.hdr_corporate_logo {
				width: 23vw;
				left: 5.3vw;
		}
}
section {
		padding: 200px 0;
		min-height: 100px;
}
section.feature_section {
		padding-left: 0;
		padding-right: 0;
}
.section_hd {
		width: 380px;
		margin: 0 auto 60px;
}
.section_hd.extra {
		margin-bottom: 30px;
}
.insta_hash {
		font-size: 18px;
		font-weight: 500;
		text-align: center;
		margin-bottom: 30px;
}
.section_hd img {
		width: 100%;
		height: auto
}
@media(max-width: 960px) {
		section {
				padding: 160px 0;
		}
		.section_hd {
				width: 300px;
				margin: 0 auto 40px;
		}
}
@media(max-width: 767px) {
		section {
				padding: 100px 0;
		}
		.section_hd {
				width: 190px;
				margin: 0 auto 35px;
		}
}
/* ========== */
footer {
		background-color: #F1E9E3;
		height: 100px;
		color: #000;
		display: flex;
		justify-content: center;
		align-items: center;
}
.copy {
		font-family: 'Inter', sans-serif;
		font-size: 12px;
		font-weight: 500;
}
/* ========== */
.pagetop {
		position: fixed;
		right: 40px;
		bottom: 54px;
		width: 80px;
		height: 80px;
		cursor: pointer;
		background: #fff;
		border: 1px solid #000;
		border-radius: 50%;
		z-index: 100;
		display: none;
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.pagetop::after {
		content: '';
		display: block;
		position: absolute;
		top: 33px;
		left: 30px;
		width: 20px;
		height: 20px;
		pointer-events: none;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		transform: rotate(-45deg)
}
@media(max-width: 1440px) {
		.pagetop {
				right: 40px;
				bottom: 64px;
				width: 60px;
				height: 60px;
		}
		.pagetop::after {
				top: 25px;
				left: 22px;
				width: 16px;
				height: 16px;
		}
}
@media(max-width: 767px) {
		.pagetop {
				right: 20px;
				bottom: 20px;
				width: 40px;
				height: 40px;
		}
		.pagetop.isActive {
				bottom: 77px;
		}
		.pagetop::after {
				top: 16px;
				left: 15px;
				width: 10px;
				height: 10px;
		}
}
/* ========== */
.side_btn {
		width: 123px;
		position: fixed;
		left: 20px;
		bottom: 90px;
		z-index: 50;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), bottom 0.5s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scale(0) translateY(160px)
}
.side_btn.isActive {
		transform: scale(1) translateY(0px)
}
.side_btn a {
		display: block;
		position: relative;
}
.side_btn a::before, .side_btn a::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 123px;
		height: 123px;
}
.side_btn a::before {
		background: #E1D0C3;
		border-radius: 50%;
		transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s;
}
.side_btn a::after {
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 123px;
		background-image: url("../images/side_btn_wht.png");
		opacity: 0;
		transition: opacity 0.3s;
		pointer-events: none;
		z-index: 10
}
@media(max-width: 767px) {
		.side_btn {
				width: 80px;
				left: 15px;
				bottom: 70px;
		}
		.side_btn a::before, .side_btn a::after {
				width: 80px;
				height: 80px;
		}
		.side_btn a::after {
				background-size: 80px;
		}
}
@media (hover: hover) {
		.side_btn a:hover::before {
				transform: scale(1.15);
				background: #EA6202;
				mix-blend-mode: multiply
		}
		.side_btn a:hover img {
				opacity: 0
		}
		.side_btn a:hover::after {
				opacity: 1
		}
}
.side_btn .in {
		position: relative;
		z-index: 2
}
.side_btn img {
		width: 100%;
		height: auto;
}
/* ========== */
.alignR {
		text-align: right;
}
/* ==================== */
/* ==================== */ ::selection {
		background: #e1d2c9;
		color: #000;
}
::-moz-selection {
		background: #e1d2c9;
		color: #000;
}
@media(min-width: 768px) {
		::-webkit-scrollbar {
				width: 10px;
				height: 10px;
		}
		::-webkit-scrollbar-track {
				background-color: #fff;
		}
		::-webkit-scrollbar-thumb {
				background-color: #EA6202;
		}
}