@charset "UTF-8";
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	text-decoration: none;
	list-style: none;
	font-family: "Noto Sans JP", YuGothic,"游ゴシック体", "Yu Gothic", "游ゴシック", "YuGothic", sans-serif;
}

/* reset */
html,
body {
	padding: 0;
	margin: 0;
}

h1,
h2,
h3 {
	padding: 0;
	margin: 0;
	font-weight: bold;
	line-height: 1;
}

h1 {
	font-size: 28px;
}

h2 {
	font-size: 24px;
}

h3 {
	font-size: 24px;
}

p,
a {
	padding: 0;
	margin: 0;
	color: black;
	line-height: 1;
	font-weight: bold;
}

p {
	font-size: 12px;
}

a {
	font-size: 14px;
	text-decoration: none;
	cursor: pointer;
}

ul {
	margin: 0;
	list-style-type: none;
	padding: 0;
	line-height: 1;
}

li {
	line-height: 1;
}

div {
	line-height: 1;
}

input, textarea, select, button {
	font-family: 'Lora', serif;
}

.fwb {
	font-weight: bold !important;
}

.YuMincho {
	font-family: YuMincho;
}

html {
	font-size: 62.5%;
}

html body {
	margin: 0 !important;
}

.pc-none {
	display: none;
}

@media screen and (max-width: 768px) {
	.pc-none {
		display: block;
	}
}

.sp-none {
	display: block;
}

@media screen and (max-width: 768px) {
	.sp-none {
		display: none;
	}
}

#page {
	position: relative;
	z-index: 90;
	background-color: #fff;
}

header#header {
	padding: 2.77778vw 3.33333vw;
	position: fixed;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
	z-index: 100;
}

@media screen and (max-width: 768px) {
	header#header {
		padding: 3.86364vw 4.54545vw;
	}
}

header#header .header-btn {
	margin-top: 0.52083vw;
}

@media screen and (max-width: 768px) {
	header#header .header-btn {
		margin-top: 2.95455vw;
		margin-left: 2.27273vw;
	}
}

header#header .header-btn.js_humburgerOpen {
	width: 35px;
	height: 35px;
	position: relative;
	margin-top: 11px;
}

header#header .header-btn .header-btn-border {
	display: block;
	width: 50px;
	background-color: #676767;
	height: 3px;
}

@media screen and (max-width: 768px) {
	header#header .header-btn .header-btn-border {
		width: 40px;
		height: 3px;
	}
}

header#header .header-btn .header-btn-border.js_humburgerOpen {
	position: absolute;
}

header#header .header-btn .header-btn-border.js_humburgerOpen.middle {
	display: none;
}

header#header .header-btn .header-btn-border.js_humburgerOpen.top, header#header .header-btn .header-btn-border.js_humburgerOpen.bottom {
	display: block;
	margin: 0;
	position: absolute;
	top: 50%;
	left: 50%;
}

header#header .header-btn .header-btn-border.js_humburgerOpen.top {
	transform: translate(-50%, -50%) rotate(45deg);
}

header#header .header-btn .header-btn-border.js_humburgerOpen.bottom {
	transform: translate(-50%, -50%) rotate(-45deg);
}

header#header .header-btn .header-btn-border.top {
	display: block;
}

header#header .header-btn .header-btn-border.middle {
	margin-top: 10px;
}

@media screen and (max-width: 768px) {
	header#header .header-btn .header-btn-border.middle {
		margin-top: 10px;
	}
}

header#header .header-btn .header-btn-border.bottom {
	margin-top: 10px;
}

@media screen and (max-width: 768px) {
	header#header .header-btn .header-btn-border.bottom {
		margin-top: 10px;
	}
}

@media screen and (max-width: 768px) {
	header#header .header-logo {
		margin-top: 1.59091vw;
	}
}

header#header .header-logo a {
	color: #676767;
	font-size: 45px;
	font-weight: 600;
	line-height: 68px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	header#header .header-logo a {
		font-size: 28px;
		line-height: 1;
	}
}

@media screen and (max-width: 768px) {
	header#header .header-logo.js_humburgerOpen {
		display: none;
	}
}

header#header .header-link {
	margin-top: 0.52083vw;
	display: block;
	border-radius: 10px;
	border: 1px solid #676767;
}

@media screen and (max-width: 768px) {
	header#header .header-link {
		text-align: center;
		border-radius: 10px;
		border: 1px solid #676767;
	}
}

header#header .header-link a {
	display: block;
	padding: 15px 20px 15px 20px;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	color: #676767;
}

@media screen and (max-width: 768px) {
	header#header .header-link a {
		padding: 8px 17px;
		font-size: 15px;
		line-height: 20px;
	}
}

@media screen and (max-width: 768px) {
	header#header.js_humburgerOpen .header-link {
		border: 1px solid #fff;
	}
}

@media screen and (max-width: 768px) {
	header#header.js_humburgerOpen .header-link a {
		color: #fff;
	}
}

header#header.jakurin .header-link {
	background-color: #405C57;
	border-color: #405C57;
}

header#header.jakurin .header-link a {
	color: #fff;
}

.headerMenu {
	position: fixed;
	width: 100%;
	z-index: 95;
	height: 26.97917vw;
	background-color: #000;
}

@media screen and (max-width: 768px) {
	.headerMenu {
		height: 100vh;
		padding: 0 10.22727vw 10.22727vw;
	}
}

.headerMenu .headerMenu-container {
	display: flex;
	justify-content: space-between;
	padding: 11.71875vw 10.625vw 5.78125vw;
}

@media screen and (max-width: 768px) {
	.headerMenu .headerMenu-container {
		padding: 27.04545vw 0 0;
		display: block;
	}
}

.headerMenu .headerMenu-container .headerMenu-list {
	display: flex;
}

@media screen and (max-width: 768px) {
	.headerMenu .headerMenu-container .headerMenu-list {
		display: block;
	}
}

.headerMenu .headerMenu-container .headerMenu-list ul {
	padding-right: 3.85417vw;
}

@media screen and (max-width: 768px) {
	.headerMenu .headerMenu-container .headerMenu-list ul {
		padding-right: 0;
	}
}

.headerMenu .headerMenu-container .headerMenu-list ul li {
	padding-bottom: 1.77083vw;
}

@media screen and (max-width: 768px) {
	.headerMenu .headerMenu-container .headerMenu-list ul li {
		padding-bottom: 7.72727vw;
	}
}

.headerMenu .headerMenu-container .headerMenu-list ul li a {
	font-size: 1.30208vw;
	color: #fff;
	position: relative;
	display: block;
}

@media screen and (max-width: 768px) {
	.headerMenu .headerMenu-container .headerMenu-list ul li a {
		font-size: 3.63636vw;
	}
	.headerMenu .headerMenu-container .headerMenu-list ul li a::after {
		content: "";
		position: absolute;
		width: 17px;
		height: 18px;
		background-image: url(../img/icon-arrow.png);
		right: 0;
	}
}

.headerMenu {
	top: -120%;
	transition: 1s;
}

.headerMenu.js_humburgerOpen {
	display: block;
	top: 0;
}

.headerMenu.jakurin {
	background-color: #12251C;
}

.headerMenu.jakurin .headerMenu-container {
	justify-content: center;
}

.headerMenu.jakurin .headerMenu-container .headerMenu-list {
	justify-content: start;
}

.headerMenu.jakurin .headerMenu-container .headerMenu-sns {
	display: flex;
	padding-left: 23px;
}

@media screen and (max-width: 768px) {
	.headerMenu.jakurin .headerMenu-container .headerMenu-sns {
		padding-top: 0;
		padding-left: 0;
	}
}

.headerMenu.jakurin .headerMenu-container .headerMenu-sns > img {
	display: block;
	width: 3.81944vw;
	height: 2.43056vw;
	object-fit: contain;
}

@media screen and (max-width: 768px) {
	.headerMenu.jakurin .headerMenu-container .headerMenu-sns > img {
		display: none;
	}
}

.headerMenu.jakurin .headerMenu-container .headerMenu-sns > a {
	display: block;
	padding-left: 2.98611vw;
}

@media screen and (max-width: 768px) {
	.headerMenu.jakurin .headerMenu-container .headerMenu-sns > a {
		padding-left: 0;
	}
}

.headerMenu.jakurin .headerMenu-container .headerMenu-sns > a img {
	width: 2.77778vw;
}

@media screen and (max-width: 768px) {
	.headerMenu.jakurin .headerMenu-container .headerMenu-sns > a img {
		width: 9.09091vw;
	}
}

.footer.sougou {
	position: relative;
	z-index: 90;
	background-color: #000;
	padding: 5.20833vw 21.35417vw 2.96875vw;
}

@media screen and (max-width: 768px) {
	.footer.sougou {
		padding: 22.72727vw 10.22727vw 12.95455vw;
	}
}

.footer.sougou .contentbox {
	display: flex;
	align-items: flex-end;
}

@media screen and (max-width: 768px) {
	.footer.sougou .contentbox {
		display: block;
	}
}

.footer.sougou .contentbox .content1 .logo {
	display: block;
	width: 9.84375vw;
}

@media screen and (max-width: 768px) {
	.footer.sougou .contentbox .content1 .logo {
		width: 27.27273vw;
	}
}

.footer.sougou .contentbox .content1 .address, .footer.sougou .contentbox .content1 .contact {
	margin-top: 1.45833vw;
	margin-bottom: 0.41667vw;
}

@media screen and (max-width: 768px) {
	.footer.sougou .contentbox .content1 .address, .footer.sougou .contentbox .content1 .contact {
		margin-top: 4.54545vw;
	}
}

.footer.sougou .contentbox .content1 .address p, .footer.sougou .contentbox .content1 .address a, .footer.sougou .contentbox .content1 .contact p, .footer.sougou .contentbox .content1 .contact a {
	color: #fff;
	font-size: 0.83333vw;
	line-height: 1.25vw;
}

@media screen and (max-width: 768px) {
	.footer.sougou .contentbox .content1 .address p, .footer.sougou .contentbox .content1 .address a, .footer.sougou .contentbox .content1 .contact p, .footer.sougou .contentbox .content1 .contact a {
		font-size: 3.63636vw;
		line-height: 5.45455vw;
	}
}

.footer.sougou .contentbox .content1 .address .mail, .footer.sougou .contentbox .content1 .contact .mail {
	text-decoration: underline;
}

.footer.sougou .contentbox .content2 {
	display: flex;
	margin-left: 5.67708vw;
}

@media screen and (max-width: 768px) {
	.footer.sougou .contentbox .content2 {
		margin-left: 0;
		margin-top: 6.36364vw;
	}
}

.footer.sougou .contentbox .content2 .pc {
	display: flex;
}

@media screen and (max-width: 768px) {
	.footer.sougou .contentbox .content2 .pc {
		display: none;
	}
}

.footer.sougou .contentbox .content2 .pc ul {
	display: flex;
	flex-direction: column;
}

.footer.sougou .contentbox .content2 .pc ul li {
	margin-left: 3.125vw;
}

.footer.sougou .contentbox .content2 .pc ul li:nth-child(n+1) {
	margin-top: 1.04167vw;
}

.footer.sougou .contentbox .content2 .pc ul li a {
	font-size: 0.83333vw;
	color: #fff;
}

.footer.sougou .contentbox .content2 .pc ul li a:visited {
	color: #fff;
}

.footer.sougou .contentbox .content2 .sp {
	display: none;
}

@media screen and (max-width: 768px) {
	.footer.sougou .contentbox .content2 .sp {
		display: flex;
	}
}

.footer.sougou .contentbox .content2 .sp ul {
	display: flex;
	flex-direction: column;
}

.footer.sougou .contentbox .content2 .sp ul li {
	margin-right: 14.31818vw;
}

.footer.sougou .contentbox .content2 .sp ul li:nth-child(n+1) {
	margin-top: 4.77273vw;
}

.footer.sougou .contentbox .content2 .sp ul li a {
	font-size: 3.63636vw;
	color: #fff;
}

.footer.sougou .contentbox .content2 .sp ul li a:visited {
	color: #fff;
}

.footer.sougou .copyright {
	color: #fff;
	font-size: 0.83333vw;
	margin-top: 3.85417vw;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	.footer.sougou .copyright {
		font-size: 2.27273vw;
		margin-top: 20.22727vw;
	}
}

.footer.jakurin {
	background-color: #000;
	padding: 5.20833vw 21.61458vw 2.96875vw;
}

@media screen and (max-width: 768px) {
	.footer.jakurin {
		padding: 20.45455vw 10.22727vw 11.59091vw;
	}
}

.footer.jakurin .contentbox {
	display: flex;
	align-items: flex-end;
}

@media screen and (max-width: 768px) {
	.footer.jakurin .contentbox {
		display: block;
	}
}

.footer.jakurin .contentbox .content1 .logo {
	display: block;
	width: 21.5625vw;
}

@media screen and (max-width: 768px) {
	.footer.jakurin .contentbox .content1 .logo {
		width: 62.72727vw;
	}
}

.footer.jakurin .contentbox .content1 .address, .footer.jakurin .contentbox .content1 .contact {
	margin-top: 1.45833vw;
	margin-bottom: 0.41667vw;
}

@media screen and (max-width: 768px) {
	.footer.jakurin .contentbox .content1 .address, .footer.jakurin .contentbox .content1 .contact {
		margin-top: 4.54545vw;
	}
}

.footer.jakurin .contentbox .content1 .address p, .footer.jakurin .contentbox .content1 .address a, .footer.jakurin .contentbox .content1 .contact p, .footer.jakurin .contentbox .content1 .contact a {
	font-family: YuMincho;
	color: #fff;
	font-size: 0.83333vw;
	line-height: 1.25vw;
}

@media screen and (max-width: 768px) {
	.footer.jakurin .contentbox .content1 .address p, .footer.jakurin .contentbox .content1 .address a, .footer.jakurin .contentbox .content1 .contact p, .footer.jakurin .contentbox .content1 .contact a {
		font-size: 3.63636vw;
		line-height: 5.45455vw;
	}
}

.footer.jakurin .contentbox .content1 .address .mail, .footer.jakurin .contentbox .content1 .contact .mail {
	text-decoration: underline;
}

.footer.jakurin .contentbox .content2 {
	display: flex;
}

@media screen and (max-width: 768px) {
	.footer.jakurin .contentbox .content2 {
		margin-top: 6.36364vw;
	}
}

.footer.jakurin .contentbox .content2 .pc {
	display: flex;
}

@media screen and (max-width: 768px) {
	.footer.jakurin .contentbox .content2 .pc {
		display: none;
	}
}

.footer.jakurin .contentbox .content2 .pc ul {
	display: flex;
	flex-direction: column;
}

.footer.jakurin .contentbox .content2 .pc ul li {
	margin-left: 3.125vw;
}

.footer.jakurin .contentbox .content2 .pc ul li:nth-child(n+1) {
	margin-top: 1.04167vw;
}

.footer.jakurin .contentbox .content2 .pc ul li a {
	font-family: YuMincho;
	font-size: 0.83333vw;
	color: #fff;
}

.footer.jakurin .contentbox .content2 .pc ul li a:visited {
	color: #fff;
}

.footer.jakurin .contentbox .content2 .sp {
	display: none;
}

@media screen and (max-width: 768px) {
	.footer.jakurin .contentbox .content2 .sp {
		display: flex;
	}
}

.footer.jakurin .contentbox .content2 .sp ul {
	display: flex;
	flex-direction: column;
}

.footer.jakurin .contentbox .content2 .sp ul li {
	margin-right: 14.31818vw;
}

.footer.jakurin .contentbox .content2 .sp ul li:nth-child(n+1) {
	margin-top: 4.77273vw;
}

.footer.jakurin .contentbox .content2 .sp ul li a {
	font-family: YuMincho;
	font-size: 3.63636vw;
	color: #fff;
}

.footer.jakurin .contentbox .content2 .sp ul li a:visited {
	color: #fff;
}

.footer.jakurin .contentbox .content3 {
	margin-left: 4.21875vw;
	margin-bottom: 2.5vw;
}

@media screen and (max-width: 768px) {
	.footer.jakurin .contentbox .content3 {
		margin-top: 10vw;
		margin-left: 0;
		margin-bottom: 0;
		display: flex;
		align-items: center;
	}
}

.footer.jakurin .contentbox .content3 .sns {
	display: block;
	width: 3.02083vw;
}

@media screen and (max-width: 768px) {
	.footer.jakurin .contentbox .content3 .sns {
		width: 12.5vw;
	}
}

.footer.jakurin .contentbox .content3 .sns-icon {
	margin-top: 1.25vw;
}

@media screen and (max-width: 768px) {
	.footer.jakurin .contentbox .content3 .sns-icon {
		margin-top: 0;
		margin-left: 8.18182vw;
	}
}

.footer.jakurin .contentbox .content3 .sns-icon .sns-insta {
	display: block;
	width: 2.08333vw;
}

@media screen and (max-width: 768px) {
	.footer.jakurin .contentbox .content3 .sns-icon .sns-insta {
		width: 9.09091vw;
	}
}

.footer.jakurin .copyright {
	font-family: YuMincho;
	color: #fff;
	font-size: 0.83333vw;
	margin-top: 3.85417vw;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	.footer.jakurin .copyright {
		font-size: 2.27273vw;
		margin-top: 20.22727vw;
	}
}

main.top {
	/* スクロールアニメーション基本スタイル */
	/* 背景画像スタイル */
	/* コンテンツスタイル */
	/* アニメーション状態クラス */
	/* 前後のコンテンツ用スタイル */
}

main.top picture img {
	margin-top: -2px;
	width: 100%;
}

main.top .wrap {
	position: relative;
	z-index: 90;
	background-color: #fff;
}

main.top section.columns {
	position: relative;
	z-index: 90;
	background-color: #fff;
}

main.top section.columns .content-01, main.top section.columns .content-02 {
	display: block;
}

main.top section.columns .content-01 img, main.top section.columns .content-02 img {
	display: block;
	max-width: 1440px;
	margin: -2px auto 0;
	width: 100%;
}

@media screen and (max-width: 768px) {
	main.top section.columns .content-01 {
		padding-bottom: 11.36364vw;
	}
}

@media screen and (max-width: 768px) {
	main.top section.columns .content-02 {
		padding-bottom: 15.90909vw;
	}
}

main.top section.partner {
	position: relative;
	z-index: 90;
	background-color: #fff;
}

main.top section.partner .content-text {
	position: absolute;
	top: 0;
	z-index: 20;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 39.01042vw;
}

@media screen and (max-width: 768px) {
	main.top section.partner .content-text {
		width: 80vw;
	}
}

main.top section.partner .content-text h3 {
	font-size: 1.5625vw;
	font-weight: 700;
	line-height: 1.5;
	color: #fff;
}

@media screen and (max-width: 768px) {
	main.top section.partner .content-text h3 {
		font-size: 5.68182vw;
	}
}

main.top section.partner .content-text p {
	font-size: 0.83333vw;
	color: #fff;
	font-weight: 700;
	line-height: 2.25;
	text-align: center;
}

@media screen and (max-width: 768px) {
	main.top section.partner .content-text p {
		font-size: 3.63636vw;
		line-height: 1.5;
	}
}

main.top section.partner .content-text p:nth-of-type(1) {
	margin-top: 1.92708vw;
}

@media screen and (max-width: 768px) {
	main.top section.partner .content-text p:nth-of-type(1) {
		margin-top: 6.81818vw;
	}
}

main.top section.partner .content-text p:not(:nth-of-type(1)) {
	margin-top: 0;
}

@media screen and (max-width: 768px) {
	main.top section.partner .content-text p:not(:nth-of-type(1)) {
		margin-top: 3.40909vw;
	}
}

main.top section.introduction {
	position: relative;
	z-index: 90;
	background-color: #fff;
	max-width: 1430px;
	margin: 0 auto;
}

main.top section.introduction h2 {
	padding-top: 6.35417vw;
	padding-left: 8.22917vw;
	padding-bottom: 5.20833vw;
}

@media screen and (max-width: 768px) {
	main.top section.introduction h2 {
		padding-top: 16.81818vw;
		padding-left: 0;
		padding-bottom: 11.36364vw;
	}
}

main.top section.introduction h2 img {
	width: 24.27083vw;
}

@media screen and (max-width: 768px) {
	main.top section.introduction h2 img {
		width: 43.40909vw;
	}
}

main.top section.introduction .archive-2 {
	padding-top: 7.8125vw;
}

@media screen and (max-width: 768px) {
	main.top section.introduction .archive-2 {
		padding-top: 15.90909vw;
	}
}

main.top section.introduction .archive-3 {
	padding-top: 7.8125vw;
}

@media screen and (max-width: 768px) {
	main.top section.introduction .archive-3 {
		padding-top: 8.63636vw;
	}
}

main.top section.introduction a {
	margin: 0;
	display: inline-block;
}

@media screen and (max-width: 768px) {
	main.top section.introduction a {
		margin: 4.54545vw 10.22727vw 15.90909vw 65vw;
	}
}

main.top section.introduction a picture img {
	width: 5.67708vw;
}

@media screen and (max-width: 768px) {
	main.top section.introduction a picture img {
		width: 24.77273vw;
	}
}

main.top section.introduction .archive-1,
main.top section.introduction .archive-2,
main.top section.introduction .archive-3 {
	position: relative;
}

@media screen and (min-width: 769px) {
	main.top section.introduction .archive-1 a,
	main.top section.introduction .archive-3 a {
		display: block;
		position: absolute;
		bottom: 0;
		right: 9.6875vw;
	}
}

@media screen and (min-width: 769px) {
	main.top section.introduction .archive-2 a {
		display: block;
		position: absolute;
		bottom: 0;
		left: 8.90625vw;
	}
}

main.top section.gallery {
	position: relative;
	z-index: 90;
	background-color: #fff;
	max-width: 1430px;
	margin: 0 auto;
}

main.top section.gallery h2 {
	padding-top: 7.8125vw;
	padding-left: 6.45833vw;
	padding-bottom: 3.95833vw;
}

@media screen and (max-width: 768px) {
	main.top section.gallery h2 {
		padding-top: 15.90909vw;
		padding-left: 0;
		padding-bottom: 6.81818vw;
	}
}

main.top section.gallery h2 img {
	width: 13.33333vw;
}

@media screen and (max-width: 768px) {
	main.top section.gallery h2 img {
		width: 37.72727vw;
	}
}

main.top section.shop {
	position: relative;
	z-index: 90;
	background-color: #fff;
	padding-top: 7.8125vw;
	position: relative;
}

@media screen and (max-width: 768px) {
	main.top section.shop {
		padding-top: 15.90909vw;
	}
}

main.top section.shop h2 {
	padding-left: 18.90625vw;
	padding-bottom: 4.6875vw;
}

@media screen and (max-width: 768px) {
	main.top section.shop h2 {
		padding-left: 0;
		padding-bottom: 6.81818vw;
	}
}

main.top section.shop h2 img {
	width: 11.66667vw;
}

@media screen and (max-width: 768px) {
	main.top section.shop h2 img {
		width: 30.22727vw;
	}
}

main.top section.shop .contentbox {
	position: relative;
}

main.top section.shop .contentbox .product-section {
	margin-top: 3.33333vw;
	display: flex;
	justify-content: center;
}

@media screen and (max-width: 768px) {
	main.top section.shop .contentbox .product-section {
		margin-top: 6.81818vw;
		display: block;
		text-align: center;
	}
}

main.top section.shop .contentbox .product-section .product-image {
	width: 25.26042vw;
	height: 24.42708vw;
}

@media screen and (max-width: 768px) {
	main.top section.shop .contentbox .product-section .product-image {
		width: 68.18182vw;
		height: 65.90909vw;
		margin: 0 auto;
	}
}

main.top section.shop .contentbox .product-section .product-info {
	margin: 0 0 0 2.60417vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

@media screen and (max-width: 768px) {
	main.top section.shop .contentbox .product-section .product-info {
		margin: 6.90909vw 10.22727vw 0;
	}
}

main.top section.shop .contentbox .product-section .product-info h3 {
	font-size: 0.83333vw;
	line-height: 1.5;
	font-weight: 700;
	text-align: left;
}

@media screen and (max-width: 768px) {
	main.top section.shop .contentbox .product-section .product-info h3 {
		font-size: 3.63636vw;
		line-height: 1.5;
	}
}

main.top section.shop .contentbox .product-section .product-info .text {
	font-size: 0.83333vw;
	font-weight: 500;
	line-height: 1.5;
	margin-top: 1.5625vw;
	text-align: left;
}

@media screen and (max-width: 768px) {
	main.top section.shop .contentbox .product-section .product-info .text {
		font-size: 3.63636vw;
		line-height: 5vw;
		margin-top: 4.54545vw;
	}
}

main.top section.shop .contentbox .product-section .product-info .price {
	font-size: 0.83333vw;
	line-height: 1.5;
	font-weight: 700;
	margin-top: 1.5625vw;
	text-align: left;
}

@media screen and (max-width: 768px) {
	main.top section.shop .contentbox .product-section .product-info .price {
		font-size: 3.63636vw;
		margin-top: 5.45455vw;
	}
}

@media screen and (min-width: 769px) {
	main.top section.shop .contentbox > a {
		display: block;
		position: absolute;
		bottom: 0;
		right: 26.45833vw;
	}
}

@media screen and (max-width: 768px) {
	main.top section.shop .contentbox > a {
		display: flex;
		justify-content: center;
		margin-top: 5.45455vw;
	}
}

main.top section.shop .contentbox > a img {
	width: 9.27083vw;
}

@media screen and (max-width: 768px) {
	main.top section.shop .contentbox > a img {
		width: 40.45455vw;
	}
}

main.top section.access {
	position: relative;
	z-index: 90;
	background-color: #fff;
	padding-top: 7.8125vw;
	padding-bottom: 5.20833vw;
	position: relative;
}

@media screen and (max-width: 768px) {
	main.top section.access {
		padding-top: 15.90909vw;
		padding-bottom: 15.90909vw;
	}
}

main.top section.access h2 {
	padding-left: 18.90625vw;
	padding-bottom: 5.20833vw;
}

@media screen and (max-width: 768px) {
	main.top section.access h2 {
		padding-left: 0;
		padding-bottom: 6.81818vw;
	}
}

main.top section.access h2 img {
	width: 13.33333vw;
}

@media screen and (max-width: 768px) {
	main.top section.access h2 img {
		width: 30.22727vw;
	}
}

main.top section.access .contentbox iframe {
	display: block;
	margin: 0 auto;
	width: 57.29167vw;
	height: 24.79167vw;
}

@media screen and (max-width: 768px) {
	main.top section.access .contentbox iframe {
		width: 100vw;
		height: 96.59091vw;
	}
}

main.top section.access .contentbox .access-text {
	display: flex;
	justify-content: center;
	margin-top: 1.04167vw;
	font-size: 0.83333vw;
	line-height: 1.5;
	font-weight: 700;
	text-align: center;
}

@media screen and (max-width: 768px) {
	main.top section.access .contentbox .access-text {
		font-size: 3.63636vw;
		margin-top: 4.77273vw;
		display: block;
	}
}

main.top section.access .contentbox .access-text p {
	font-size: 0.83333vw;
	line-height: 1.5;
	font-weight: 700;
}

@media screen and (max-width: 768px) {
	main.top section.access .contentbox .access-text p {
		font-size: 3.63636vw;
	}
}

main.top section.access .contentbox .access-text .ellipsis {
	margin-left: 3.64583vw;
	position: relative;
}

@media screen and (max-width: 768px) {
	main.top section.access .contentbox .access-text .ellipsis {
		display: inline-block;
	}
}

main.top section.access .contentbox .access-text .ellipsis::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0.9375vw;
	height: 0.9375vw;
	border-radius: 100%;
	border: 1px solid #000;
	margin-left: -1.97917vw;
	top: 50%;
	transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
	main.top section.access .contentbox .access-text .ellipsis::before {
		width: 4.09091vw;
		height: 4.09091vw;
		margin-left: -8.63636vw;
	}
}

@media screen and (max-width: 768px) {
	main.top section.access .contentbox .access-text .ellipsis:nth-child(2) {
		margin-top: 4.77273vw;
	}
}

@media screen and (max-width: 768px) {
	main.top section.access .contentbox .access-text .ellipsis:last-child {
		margin-top: 2.27273vw;
	}
}

main.top .scroll-animation {
	margin-top: -1px;
	position: relative;
	height: 400vh;
	/* 4つのセクション分の高さ */
}

main.top .scroll-animation__container {
	position: sticky;
	top: 0;
	height: 100vh;
	width: 100%;
	overflow: hidden;
}

main.top .scroll-animation__item-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.8s ease;
}

main.top .scroll-animation__item-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

main.top .scroll-animation__item-content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	color: white;
	opacity: 0;
	transition: opacity 0.8s ease;
	z-index: 10;
}

main.top .scroll-animation__item-content#content-1 {
	width: 48.59375vw;
}

@media screen and (max-width: 768px) {
	main.top .scroll-animation__item-content#content-1 {
		width: 79.09091vw;
	}
}

main.top .scroll-animation__item-content#content-2 {
	width: 50.46875vw;
}

@media screen and (max-width: 768px) {
	main.top .scroll-animation__item-content#content-2 {
		width: 82.95455vw;
	}
}

main.top .is-visible {
	opacity: 1;
}

main.top .dummy-content {
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f5f5f5;
}

main.jakurin picture img {
	margin-top: -2px;
	width: 100%;
}

main.jakurin section.about .about-img-01 img, main.jakurin section.about .about-img-02 img, main.jakurin section.about .about-img-03 img {
	max-width: 75.41667vw;
	margin: -2px auto 0;
	display: block;
}

@media screen and (max-width: 768px) {
	main.jakurin section.about .about-img-01 img, main.jakurin section.about .about-img-02 img, main.jakurin section.about .about-img-03 img {
		max-width: 100%;
	}
}

@media screen and (max-width: 768px) {
	main.jakurin section.about .about-img-01, main.jakurin section.about .about-img-02 {
		padding-bottom: 6.81818vw;
	}
}

main.jakurin section.gallery {
	max-width: 1440px;
	margin: 0 auto;
	width: 100%;
}

main.jakurin section.gallery h2 {
	padding-top: 8.85417vw;
	padding-left: 9.0625vw;
	padding-bottom: 2.60417vw;
}

@media screen and (max-width: 768px) {
	main.jakurin section.gallery h2 {
		padding-top: 6.81818vw;
		padding-left: 10.22727vw;
		padding-bottom: 6.81818vw;
	}
}

main.jakurin section.gallery h2 img {
	width: 13.125vw;
}

@media screen and (max-width: 768px) {
	main.jakurin section.gallery h2 img {
		width: 35.68182vw;
	}
}

main.jakurin section.guidelines {
	padding-top: 8.85417vw;
}

@media screen and (max-width: 768px) {
	main.jakurin section.guidelines {
		padding-top: 15.90909vw;
	}
}

main.jakurin section.access h2 {
	padding-top: 4.79167vw;
	padding-left: 22.86458vw;
	padding-bottom: 2.60417vw;
}

@media screen and (max-width: 768px) {
	main.jakurin section.access h2 {
		padding-top: 15.90909vw;
		padding-left: 10.22727vw;
		padding-bottom: 6.81818vw;
	}
}

main.jakurin section.access h2 img {
	width: 13.125vw;
}

@media screen and (max-width: 768px) {
	main.jakurin section.access h2 img {
		width: 34.09091vw;
	}
}

main.jakurin section.access .contentbox {
	position: relative;
}

main.jakurin section.access .contentbox iframe {
	display: block;
	margin: 0 auto;
	width: 57.29167vw;
	height: 24.79167vw;
}

@media screen and (max-width: 768px) {
	main.jakurin section.access .contentbox iframe {
		width: 100vw;
		height: 96.59091vw;
	}
}

main.jakurin section.access .contentbox > picture {
	display: flex;
	justify-content: center;
	padding-top: 1.04167vw;
	padding-bottom: 9.58333vw;
}

@media screen and (max-width: 768px) {
	main.jakurin section.access .contentbox > picture {
		padding-top: 4.77273vw;
		padding-bottom: 15.90909vw;
	}
}

main.jakurin section.access .contentbox > picture img {
	width: 57.29167vw;
}

@media screen and (max-width: 768px) {
	main.jakurin section.access .contentbox > picture img {
		width: 79.77273vw;
	}
}

.scroll_up, .scroll_up_type2 {
	transition: all 1.3s;
	transform: translateY(30px);
	opacity: 0;
	filter: blur(10px);
}

.scroll_up.on, .scroll_up_type2.on {
	transform: translateY(0);
	opacity: 1.0;
	filter: blur(0);
}

/*# sourceMappingURL=main.css.map */