body {
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
}
.serif {
	font-family: 'Noto Serif JP', serif;
}
:root {
	--color-black: #000000;
	--color-white: #fff;
}
@media screen and (min-width: 1025px) {
	.header {
		background: url('../img/common/bg-header.jpg') no-repeat center/cover;
		position: fixed;
		height: 100%;
		left: 0;
		top: 0;
		z-index: 6000;
		width: 250px;
	}
	.header-logo {
		padding-top: 1.6666666667vw;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1;
		display: flex;
		justify-content: center;
	}
	.header-logo img {
		max-width: 100%;
	}
	.header-menu {
		position: relative;
		transition: width 0.6s;
		width: 100%;
		box-sizing: border-box;
		height: 100%;
	}
	.header-submenu {
		padding-top: 15px;
		padding-bottom: 15px;
		position: absolute;
		top: 250px;
		left: 0;
	}
	.header-submenu ul {
		display: flex;
		justify-content: center;
		align-items: flex-end;
		flex-wrap: wrap;
		gap: 20px 13px;
	}
	.header-submenu li {
		text-align: center;
		font-size: 12px;
	}
	.header-submenu li img {
		margin-left: auto;
		margin-right: auto;
	}
	.header-submenu-icon {
		display: block;
		margin-bottom: 8px;
	}
	.header-submenu-icon img {
		vertical-align: bottom;
	}
	.header-mainmenu {
		padding-top: 426px;
		height: 100%;
		box-sizing: border-box;
		overflow: hidden;
		padding-bottom: 50px;
	}
	.header-mainmenu ul {
		overflow-y: auto;
		overflow-x: hidden;
		height: 100%;
		-webkit-overflow-scrolling: touch;
	}
	.header-mainmenu__list {
		padding: 11px 20px;
		display: block;
		background: url('../img/common/icon_arrow_navi.svg') no-repeat center right 20px/6px 9px;
	}
	.header-mainmenu__list:hover > .sub-menu {
		display: block;
	}
	.header-contact {
		width: calc(4.34028vw + 180.55556px);
		max-width: 250px;
		height: 50px;
		position: fixed;
		bottom: 0;
		left: 0;
	}
	.header-contact ul {
		display: flex;
		width: 100%;
	}
	.header-contact li:nth-child(1) {
		width: 50px;
	}
	.header-contact li:nth-child(2) {
		width: calc(100% - 50px);
	}
	.header-contact li:nth-child(2) a {
		display: flex;
		align-items: center;
		height: 100%;
		background-color: #00005b;
		color: #fff;
		padding: 0 18px;
		box-sizing: border-box;
	}
	.sp-header-menu {
		display: none;
	}
}
@media screen and (max-width: 1599px) {
	.header {
		width: calc(4.34028vw + 180.55556px);
	}
}
@media screen and (max-width: 1024px) {
	.header {
		position: fixed;
		width: 100%;
		top: -100%;
		left: 0;
		display: flex;
		justify-content: space-between;
		z-index: 999;
		background-color: #fff;
		transition: top 0.4s ease;
	}
	.header h1.shop-name {
		width: 43.8666666667vw;
		padding-left: 2.6666666667vw;
		align-items: center;
	}
	.header h1.shop-name img {
		width: 100%;
		max-height: initial;
	}
	.header.show {
		top: 0;
	}
	.sp-header-menu {
		display: flex;
	}
}
.l-main {
	margin-left: 250px;
}
@media only screen and (max-width: 1599px) {
	.l-main {
		margin-left: calc(4.34028vw + 180.55556px);
	}
}
@media screen and (max-width: 1024px) {
	.l-main {
		margin-left: 0;
	}
}
.wrapper {
	padding-top: 0;
}
.main-header {
	position: fixed;
	top: 0;
	right: 0;
	width: calc(100% - 250px);
	z-index: 100;
}
.p-info {
	font-size: 16px;
	color: var(--color-white);
	text-align: center;
	padding: 10px 0;
	background: var(--color-black);
}
@media only screen and (max-width: 1599px) {
	.main-header {
		width: calc(100% - (4.34028vw + 180.55556px));
	}
}
@media screen and (max-width: 1024px) {
	.p-info {
		font-size: 3.3333333333vw;
		padding: 2.9333333333vw 0 3.7333333333vw;
	}
	.p-info p {
		line-height: 1;
	}
}
.main-navi {
	width: 434px;
	margin-left: auto;
	margin-right: 0;
	background: var(--color-white);
	border-radius: 0 0 0 84px;
}
.main-navi ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 0 24px;
	font-size: 12px;
}
.main-navi ul span {
	display: block;
	margin-top: 4px;
}
.main-navi img {
	vertical-align: bottom;
}
.main-navi li {
	text-align: center;
}
.main-navi li img {
	margin-left: auto;
	margin-right: auto;
}
.main-navi li:last-child {
	padding-bottom: 0;
}
@media screen and (max-width: 1024px) {
	.main-header {
		width: 100%;
		position: relative;
		top: initial;
		right: initial;
	}
}
.news-list {
	margin-bottom: 46px;
}
.news-list a {
	display: flex;
	align-items: center;
	padding: 30px 0;
}
.news-list li {
	border-top: 1px solid #686868;
}
.news-list li:last-child {
	border-bottom: 1px solid #686868;
}
.news-list .news-date {
	width: 212px;
	padding-left: 40px;
}
.news-list .news-title {
	flex: 1;
}
@media screen and (max-width: 1024px) {
	.news-list {
		margin-bottom: 15.7333333333vw;
	}
	.news-list a {
		flex-direction: column;
		align-items: baseline;
		padding: 3.2vw 0;
		font-size: 3.3333333333vw;
	}
	.news-list .news-date {
		width: 100%;
		padding-left: 0;
	}
	.news-list .news-title {
		flex: initial;
		width: 100%;
	}
}
.footer {
	background-color: #f6f6f6;
	padding: 100px 0 40px;
}
.footer-inn {
	max-width: 1092px;
	padding: 0 12px;
	box-sizing: content-box;
	margin-left: auto;
	margin-right: auto;
}
.footer h2 {
	margin-bottom: 50px;
}
.footer h2 img {
	margin-left: auto;
	margin-right: auto;
}
.footer .footer-solid {
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	padding-left: 30px;
	border-left: 2px solid #4b4b4b;
	margin-bottom: 46px;
	font-weight: 700;
	line-height: 1;
}
.footer .flow {
	margin-bottom: 38px;
}
.footer .flow ol {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.footer .flow li {
	box-shadow: 0 0 9px rgba(0, 0, 0, 0.3);
	padding: 24px;
	background: #fff;
}
.footer .flow li dt {
	display: flex;
	align-items: baseline;
	gap: 0 13px;
	margin-bottom: 8px;
	font-weight: 700;
}
.footer .flow li dt span {
	font-size: 30px;
	color: #5c5c5c;
	font-family: 'Noto Serif JP', serif;
}
.footer .flow li dd {
	font-size: 14px;
	line-height: 1.9285714286;
}
.footer .mail {
	padding-left: 26px;
	margin-bottom: 34px;
}
.footer .mail dt {
	display: flex;
	align-items: center;
	gap: 0 16px;
	margin-bottom: 24px;
	font-weight: 700;
	color: #585858;
}
.footer .mail dt img {
	width: 20px;
}
.footer .mail dd {
	font-size: 14px;
	line-height: 1.9285714286;
}
.footer-order {
	margin-top: 64px;
	margin-bottom: 90px;
}
.footer-order-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 30px;
}
.footer-order-list dl:nth-of-type(2) .cite {
	margin-top: 13px;
}
.footer-order dt {
	display: flex;
	align-items: center;
}
.footer-order dd {
	padding: 24px 36px;
	background: #fff;
	box-shadow: 0 0 9px rgba(0, 0, 0, 0.3);
}
.footer-order-tel {
	display: flex;
	align-items: center;
	font-size: 30px;
	margin-bottom: 18px;
	font-weight: 700;
	letter-spacing: 0.1rem;
}
.footer-order-tel span {
	display: inline-block;
	border: 2px solid #b9b9b9;
	width: 171px;
	height: 33px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 16px;
	font-size: 16px;
	letter-spacing: 0.05rem;
}
.footer-order-tel img {
	margin-right: 6px;
}
.footer-order .black-border-btn a {
	font-size: 16px;
	height: 50px;
	width: 100%;
	background: #000
		url(https://gigaplus.makeshop.jp/marutora1/template/2025/img/common/icon_arrow_white.svg)
		no-repeat center right 38px;
}
.footer-order .cite {
	margin-top: 18px;
}
.footer .notice {
	margin-bottom: 86px;
}
.footer .notice dt {
	background-color: #000;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 6px 22px 6px 12px;
	gap: 0 6px;
	width: fit-content;
	font-weight: 700;
}
.footer .notice dt img {
	width: 15px;
}
.footer .notice dd {
	border: 2px solid #000;
	padding: 34px 28px;
	color: #c93c3c;
	font-size: var(--font-size-std);
}
@media only screen and (max-width: 1340px) {
	.footer-order-list {
		grid-template-columns: repeat(1, 1fr);
		gap: 70px 0;
	}
	.footer .flow ol {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 1024px) {
	.footer {
		padding: 14.4vw 0;
	}
	.footer-inn {
		padding: 0 2.6666666667vw;
	}
	.footer h2 {
		margin-bottom: 8vw;
	}
	.footer h2 img {
		width: 84.8vw;
	}
	.footer .footer-solid {
		font-family: 'Noto Serif JP', serif;
		font-size: 4vw;
		padding-left: 4vw;
		margin-bottom: 6.1333333333vw;
	}
	.footer .flow {
		margin-bottom: 9.4666666667vw;
	}
	.footer .flow ol {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 4vw;
	}
	.footer .flow li {
		padding: 3.6vw 4.2666666667vw 5.6vw;
	}
	.footer .flow li dt {
		gap: 0 1.4666666667vw;
		margin-bottom: 0.933333vw;
		font-size: 3.3333333333vw;
	}
	.footer .flow li dt span {
		font-size: 5.8666666667vw;
	}
	.footer .flow li dd {
		font-size: 3.3333333333vw;
		line-height: 1.44;
	}
	.footer .mail {
		padding-left: 0;
		margin-bottom: 6.6666666667vw;
	}
	.footer .mail dt {
		gap: 0 2.1333333333vw;
		margin-bottom: 2.6666666667vw;
		font-size: 3.3333333333vw;
	}
	.footer .mail dt img {
		width: 5.8666666667vw;
	}
	.footer .mail dd {
		font-size: 3.3333333333vw;
		line-height: 1.3846153846;
	}
	.footer-order {
		margin-top: 9.3333333333vw;
		margin-bottom: 9.3333333333vw;
	}
	.footer-order-list {
		grid-template-columns: repeat(1, 1fr);
		gap: 9.3333333333vw 0;
	}
	.footer-order-list dl:nth-of-type(2) .cite {
		margin-top: 5.8666666667vw;
	}
	.footer-order-list dl:nth-of-type(2) .footer-order-tel img {
		width: 5.3333333333vw;
	}
	.footer-order dd {
		padding: 5.6vw 4.2666666667vw;
	}
	.footer-order-tel {
		font-size: 5.3333333333vw;
		margin-bottom: 6.1333333333vw;
		letter-spacing: 0.025rem;
	}
	.footer-order-tel span {
		width: 35.6vw;
		height: 7.3333333333vw;
		margin-right: 4.6666666667vw;
		font-size: 3.3333333333vw;
	}
	.footer-order-tel img {
		margin-right: 1.7333333333vw;
		width: 4.4vw;
	}
	.footer-order .black-border-btn a {
		font-size: 3.3333333333vw;
		height: 13.3333333333vw;
		width: 100%;
		background: #000
			url(https://gigaplus.makeshop.jp/marutora1/template/2025/img/common/icon_arrow_white.svg)
			no-repeat center right 8.1333333333vw/1.2vw 1.8666666667vw;
	}
	.footer-order .cite {
		margin-top: 6vw;
		font-size: 3.3333333333vw;
		text-align: center;
	}
	.footer .notice {
		margin-bottom: 9.3333333333vw;
	}
	.footer .notice dt {
		padding: 2.6666666667vw;
		gap: 0 2.2666666667vw;
		font-size: 3.3333333333vw;
		line-height: 1.2;
	}
	.footer .notice dt img {
		width: 4.9333333333vw;
	}
	.footer .notice dd {
		padding: 3.2vw 2.4vw;
		font-size: 3.3333333333vw;
		line-height: 1.44;
	}
}
.black-border-btn a {
	position: relative;
	width: 100%;
	height: 107px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	background: #000
		url(https://gigaplus.makeshop.jp/marutora1/template/2025/img/common/icon_arrow_white.svg)
		no-repeat center right 78px;
}
.black-border-btn a::after {
	box-sizing: border-box;
	width: calc(100% - 8px);
	border: 2px solid #f8f6f0;
	height: calc(100% - 8px);
	position: absolute;
	top: 4px;
	left: 4px;
	content: '';
}
.black-border-btn .footer-list li {
	font-size: 3.3333333333vw;
}
.footer-order .black-border-btn a::after {
	width: calc(100% - 4px);
	border: 1px solid #f8f6f0;
	height: calc(100% - 4px);
	top: 2px;
	left: 2px;
}
@media screen and (max-width: 1024px) {
	.black-border-btn a {
		height: 13.3333333333vw;
		font-size: 3.2vw;
		background: #000
			url(https://gigaplus.makeshop.jp/marutora1/template/2025/img/common/icon_arrow_white.svg)
			no-repeat center right 5.4666666667vw/1.2vw 1.8666666667vw;
	}
}
.copy {
	margin-top: 76px;
}
@media screen and (min-width: 1025px) {
	.sub-menu {
		white-space: nowrap;
		position: absolute;
		top: 0;
		background-color: #ececec;
		height: 100vh;
		padding-left: 16px;
		padding-right: 80px;
	}
	.sub-menu .sub-menu-box {
		display: flex;
		flex-direction: column;
		height: 100%;
		max-height: 90vh;
		overflow-y: auto;
	}
	.sub-menu .sub-menu-box > ul {
		margin: auto 0;
		height: auto;
	}
	.sub-menu .level-1 {
		font-size: 16px;
		font-weight: 700;
	}
	.sub-menu .level-1 a {
		padding: 8px 0;
	}
	.sub-menu .level-2 {
		padding-left: 32px;
		font-weight: 700;
	}
	.sub-menu .level-2 a {
		padding: 8px 0;
	}
	.sub-menu .level-2 ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0 88px;
		margin-bottom: 16px;
	}
	.sub-menu .level-1 > a,
	.sub-menu .level-2 > a {
		padding-right: 24px;
		display: inline-block;
		background: url(../img/common/icon_arrow_navi.svg) no-repeat center right 0/6px 9px;
	}
	.sub-menu .level-3 {
		color: #00005a;
		padding-left: 32px;
	}
	.sub-menu .level-3 a {
		padding: 8px 0;
		font-weight: 400;
		display: block;
	}
}
@media screen and (max-width: 1599px) {
	.sub-menu {
		left: calc(4.34028vw + 180.55556px);
	}
}
@media only screen and (min-width: 1600px) {
	.sub-menu {
		left: 250px;
	}
}
@media screen and (max-width: 1024px) {
	.member-in-link {
		margin-bottom: 0;
		padding: 5.3333333333vw 2.6666666667vw 6.1333333333vw;
	}
	.member-in-link-icon {
		width: 20.9333333333vw;
		font-size: 3.3333333333vw;
	}
	.header-submenu-text {
		margin-top: 2.1333333333vw;
		font-size: 3.3333333333vw;
	}
	.sp-flex-menu {
		display: flex;
		align-items: baseline;
		justify-content: center;
		gap: 10.4vw;
		flex-wrap: wrap;
		padding: 8vw 5.3333333333vw;
	}
	.sp-flex-menu a {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.header-menu .menu-toggle[aria-expanded='true'] {
		color: #fff;
	}
	.header-contact {
		margin-top: 4vw;
	}
	.header-contact ul {
		display: flex;
	}
	.header-contact ul li:nth-child(2) {
		flex: 1;
		background-color: #00005b;
		color: #fff;
	}
	.header-contact ul li:nth-child(2) a {
		font-size: 4vw;
		padding-left: 4.8vw;
		display: flex;
		align-items: center;
		width: 100%;
		height: 100%;
	}
	.member-popup {
		position: absolute;
		bottom: 0;
		right: 0;
		transform: translate(50%, 100%);
		width: 18.6666666667vw;
	}
}
