.matsuzakaya_logo {
	width: 17.9746vw;
	padding-top: 2.2208vw;
	padding-bottom: 2.2208vw;
	padding-left: 2.2208vw;
}

.matsuzakaya_logo img {
	width: 100%;
	height: auto;
}

.btn_floating {
	position: fixed;
	bottom: 1.6656vw;
	right: 1.6656vw;
	width: 136px;
	height: 136px;
	z-index: 1;
	opacity: 0;
	transition: opacity 0.3s;
}

.btn_floating img {
	width: 100%;
	height: 100%;
}

.btn_floating.on {
	opacity: 1;
}

.keyV {
	background-color: #ccc;
	width: 100%;
	position: relative;
}

.keyV h1 {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
	width: 31.3688vw;
	height: 6.246vw;
	margin: auto;
}

.keyV picture {
	display: block;
	width: 100%;
}

.keyV img {
	width: 100%;
	height: auto;
}

.sub_cont {
	position: relative;
	height: 58.0184vw;
	margin: 5.552vw 0 9.716vw;
}

.sub_cont:last-of-type {
	padding-bottom: 8.328vw;
}

.sub_cont picture {
	display: inline-block;
	position: absolute;
}

.sub_cont picture img {
	width: 100%;
	height: auto;
}

.sub_cont .img_01 {
	position: absolute;
	width: 30.536vw;
	top: 6.5236vw;
	right: 0;
}

.sub_cont .img_02 {
	position: absolute;
	top: 0;
	left: 48.8576vw;
	width: 15.268vw;
	height: 24.4288vw;
}

.sub_cont .img_02 figure {
	width: 100%;
	height: 100%;
}

.sub_cont .img_02 span {
	background-image: url("../img/brandlineup/img_lead_01.jpg");
}

.sub_cont .img_03 {
	position: absolute;
	top: 30.9524vw;
	left: 35.9492vw;
	width: 28.1764vw;
	height: 28.1764vw;
}

.sub_cont .img_03 figure {
	width: 100%;
	height: 100%;
}

.sub_cont .img_03 span {
	background-image: url("../img/brandlineup/img_lead_02.jpg");
}

.sub_cont .lead_area {
	width: 20.6812vw;
	margin: 0 0 0 12.9084vw;
	padding-top: 5.205vw;
}

.sub_cont .lead_area h2 {
	margin-bottom: 2.776vw;
}

.sub_cont .lead_area h2 span {
	color: #9D9266;
	display: block;
	font-size: 1.1104vw;
	margin-top: 0.5552vw;
}

.sub_cont .lead_area h3 {
	font-size: 1.388vw;
	line-height: 1.8;
	letter-spacing: 0.1em;
	margin-bottom: 1.6656vw;
}

.sub_cont .lead_area p {
	font-size: 0.9716vw;
	line-height: 2;
	letter-spacing: 0.05em;
	margin-bottom: 2.9148vw;
}

.sub_cont .splide__pagination {
	justify-content: flex-start;
}

.sub_cont .link_more {
	margin: 5.552vw auto 0;
}

.sub_cont .link_more a {
	position: relative;
	display: inline-block;
	line-height: 1;
}

.sub_cont .link_more a::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0.5552vw;
	right: 0;
	width: 0.4164vw;
	height: 0.4164vw;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(45deg);
}

.sub_cont .link_more a span {
	position: relative;
	display: inline-block;
	width: 100%;
	padding-right: 1.6656vw;
	padding-bottom: 0.694vw;
	overflow: hidden;
	font-family: "Gilda Display", serif;
	font-size: 1.2492vw;
	letter-spacing: 0.1em;
}

.sub_cont .link_more a span::before,
.sub_cont .link_more a span::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: #000000;
}

.sub_cont .link_more a span::before {
	left: -100%;
	transition: left 0.2s 0.3s ease-out;
}

.sub_cont .link_more a span::after {
	left: 0;
	transition: left 0.2s linear;
}

.sub_cont .link_more a:hover span::before {
	left: 0%;
}

.sub_cont .link_more a:hover span::after {
	left: 100%;
}

#brandlineup {
	font-family: "Noto Serif JP", serif;
	padding-bottom: 9.716vw;
}

#brandlineup h2 {
	font-family: "Gilda Display", serif;
	font-size: 3.8864vw;
	margin-bottom: 9.716vw;
}

#brandlineup h3 {
	color: #9D9266;
	font-family: "Gilda Display", serif;
}

#brandlineup h3 span {
	font-size: 2.2208vw;
	letter-spacing: 0.1em;
	line-height: 1;
}

#brandlineup h3 strong {
	font-size: 3.7476vw;
	line-height: 1;
}

#brandlineup h4 {
	color: #9D9266;
	font-family: "Gilda Display", serif;
	font-size: 2.2208vw;
	line-height: 1;
	letter-spacing: 0.1em;
	margin: 6.246vw auto 4.4416vw;
}

#brandlineup h4::before {
	content: "";
	position: relative;
	top: -0.2776vw;
	vertical-align: middle;
	margin-right: 0.5552vw;
	background-color: #9D9266;
	display: inline-block;
	width: 0.6246vw;
	height: 0.6246vw;
	transform: rotate(45deg);
}

#brandlineup h5 {
	font-family: "Gilda Display", serif;
	font-size: 1.2492vw;
}

#brandlineup .map,
#brandlineup .window {
	position: relative;
	margin-right: 0.5552vw;
}

#brandlineup .map a,
#brandlineup .window a {
	position: relative;
	display: inline-block;
	color: #9D9266;
	font-size: 1.388vw;
	line-height: 1;
	transition: opacity 0.3s;
}

#brandlineup .map a:hover,
#brandlineup .window a:hover {
	opacity: 0.5;
}

#brandlineup .map a::before,
#brandlineup .map a::after,
#brandlineup .window a::before,
#brandlineup .window a::after {
	content: "";
	background-color: #9D9266;
	display: block;
	width: 0.0694vw;
	height: 1.735vw;
	position: absolute;
	top: 0;
	transform: rotate(30deg);
}

#brandlineup .map a::before,
#brandlineup .window a::before {
	left: 0;
}

#brandlineup .map a::after,
#brandlineup .window a::after {
	right: 0;
}

#brandlineup .map a span,
#brandlineup .window a span {
	letter-spacing: 0.05em;
	margin: 0 1.1104vw;
}

#brandlineup .map a span::before,
#brandlineup .window a span::before {
	content: "";
	display: inline-block;
	background-size: 100% 100%;
	position: relative;
	top: 0.1388vw;
	left: 0;
}

#brandlineup .map a span::before {
	background-image: url(../img/brandlineup/ico_map.svg);
	width: 1.041vw;
	height: 1.4574vw;
	margin-right: 0.2776vw;
}

#brandlineup .window a span::before {
	background-image: url(../img/brandlineup/ico_window.svg);
	width: 1.2492vw;
	height: 1.2492vw;
	margin-right: 0.5552vw;
}

#brandlineup .ttl_set {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding-bottom: 1.1104vw;
	margin-bottom: 1.1104vw;
}

#brandlineup .ttl_set.ttl_set_h3::before,
#brandlineup .ttl_set.ttl_set_h3::after {
	content: "";
	background-color: #9D9266;
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
}

#brandlineup .ttl_set.ttl_set_h3::before {
	width: 100%;
	height: 1px;
}

#brandlineup .ttl_set.ttl_set_h3::after {
	width: 9.1608vw;
	height: 2px;
	bottom: -0.5px;
}

#brandlineup .ttl_set.ttl_set_h4 {
	margin: 6.246vw auto 4.4416vw;
}

#brandlineup .ttl_set.ttl_set_h4 h4 {
	margin: 0;
}

#brandlineup .sort_txt {
	font-size: 0.8328vw;
	line-height: 1;
	text-align: right;
}

#brandlineup .brand_list_area {
	width: 74.258vw;
	margin: 0 auto;
}

#brandlineup .brand_list_area section {
	width: 74.258vw;
	margin: 0 auto 6.94vw;
}

#brandlineup .modal_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#brandlineup .modal_list::before,
#brandlineup .modal_list::after {
	content: "";
	display: block;
	width: 15.615vw;
}

#brandlineup .modal_list::before {
	order: 1;
}

#brandlineup .modal_list li {
	cursor: pointer;
	width: 15.615vw;
	border: #000000;
	text-align: center;
	margin-bottom: 3.8864vw;
}

#brandlineup .modal_list li:hover {
	opacity: 0.5;
}

#brandlineup .modal_list figure {
	margin-bottom: 1.388vw;
}

#brandlineup .modal_list figure img {
	width: 100%;
	height: auto;
}

#brandlineup .modal_list h5 {
	font-size: 1.5268vw;
	line-height: 1.3;
	margin-bottom: 0.5552vw;
}

#brandlineup .modal_list p {
	color: #9D9266;
	font-size: 0.9716vw;
	line-height: 1.3;
}

#brandlineup .modal_list + h4 {
	margin: 2.3596vw auto 4.4416vw;
}

#brandlineup .bnr_area ul {
	display: flex;
	align-items: center;
	justify-content: center;
}

#brandlineup .bnr_area li {
	width: 28.7316vw;
	margin: 0 1.9432vw;
}

#brandlineup .bnr_area a {
	transition: opacity 0.3s;
}

#brandlineup .bnr_area a:hover {
	opacity: 0.7;
}

.modal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s, pointer-events 0.3s;
}

.modal.active {
	opacity: 1;
	pointer-events: all;
}

.modal .modal_layer {
	background-color: rgba(0, 0, 0, 0.7);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	height: 100%;
}

.modal .modal_box {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 100;
	background-color: #fff;
	padding: 4.164vw;
	width: 67.4568vw;
	max-height: calc(100vh - 1.9432vw);
}

.modal .modal_box figure {
	width: 21.3752vw;
}

.modal .modal_box div {
	width: 34.353vw;
}

.modal .modal_wrap {
	position: relative;
}

.modal .modal_wrap h5 {
	font-family: "Gilda Display", serif;
	margin-bottom: 1.1104vw;
}

.modal .modal_wrap h5 span {
	font-size: 1.9432vw;
	display: block;
}

.modal .modal_wrap h5 small {
	color: #9D9266;
	font-size: 1.2492vw;
	display: block;
}

.modal .modal_wrap h5 br {
	display: none;
}

.modal .modal_wrap p {
	font-size: 1.041vw;
}

.modal .modal_wrap .prev,
.modal .modal_wrap .next {
	cursor: pointer;
	color: #fff;
	display: block;
	background-size: 100% 100%;
	width: 1.6656vw;
	height: 3.4006vw;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	z-index: 100;
}

.modal .modal_wrap .prev {
	background-image: url(../img/brandlineup/modal_prev.svg);
	left: -3.3312vw;
}

.modal .modal_wrap .next {
	background-image: url(../img/brandlineup/modal_next.svg);
	right: -3.3312vw;
}

.modal .modal_close {
	cursor: pointer;
	font-family: "Noto Serif JP", serif;
	position: relative;
	z-index: 100;
	color: #fff;
	font-size: 0.9716vw;
	margin-top: 1.388vw;
}

@media screen and (max-width: 768px) {

.matsuzakaya_logo {
	width: 65.786vw;
	padding-top: 4.572vw;
	padding-left: 4.064vw;
	padding-bottom: 4.572vw;
}

.btn_floating {
	bottom: 4.064vw;
	right: 4.064vw;
	width: 22.352vw;
	height: 22.352vw;
}

.keyV h1 {
	width: 74.676vw;
	height: 15.24vw;
}

.sub_cont {
	margin: 20.32vw auto 0;
	height: auto;
}

.sub_cont:last-of-type {
	padding-bottom: 0;
}

.sub_cont picture {
	display: block;
	position: static;
}

.sub_cont .img_01 {
	position: static;
	width: 71.374vw;
	margin: 0 0 0 auto;
}

.sub_cont .img_02 {
	position: static;
	width: 33.528vw;
	height: 53.6448vw;
	margin: 8.128vw 0 0 4.064vw;
}

.sub_cont .img_03 {
	position: static;
	width: 56.134vw;
	height: 56.134vw;
	margin: -15.748vw 0 -15.748vw auto;
}

.sub_cont .lead_area {
	position: static;
	width: 91.44vw;
	margin: 30.48vw auto 0;
	padding: 0 0 20.828vw;
}

.sub_cont .lead_area h2 {
	margin-bottom: 10.16vw;
}

.sub_cont .lead_area h2 span {
	font-size: 4.064vw;
	margin-top: 2.032vw;
}

.sub_cont .lead_area h3 {
	font-size: 5.08vw;
	margin-bottom: 6.096vw;
}

.sub_cont .lead_area p {
	font-size: 3.556vw;
	margin-bottom: 10.668vw;
}

.sub_cont .link_more {
	margin: 20.32vw auto 0;
}

.sub_cont .link_more a::after {
	top: 2.032vw;
	width: 1.524vw;
	height: 1.524vw;
}

.sub_cont .link_more a span {
	font-size: 4.572vw;
	padding-right: 6.096vw;
	padding-bottom: 2.54vw;
}

.sub_cont .link_more a span::before {
	display: none;
}

.sub_cont .link_more a:hover span::after {
	left: 0;
}

#brandlineup {
	padding-bottom: 35.56vw;
}

#brandlineup h2 {
	font-size: 7.62vw;
	margin-bottom: 35.56vw;
}

#brandlineup h3 span {
	font-size: 8.128vw;
}

#brandlineup h3 strong {
	font-size: 13.716vw;
	position: relative;
	top: 2px;
}

#brandlineup h4 {
	font-size: 8.128vw;
	margin: 22.86vw auto 16.256vw;
}

#brandlineup h4::before {
	top: -1.016vw;
	margin-right: 2.032vw;
	width: 2.286vw;
	height: 2.286vw;
}

#brandlineup h5 {
	font-size: 5.08vw;
}

#brandlineup .map,
#brandlineup .window {
	margin-right: 2.032vw;
}

#brandlineup .map a,
#brandlineup .window a {
	font-size: 5.08vw;
}

#brandlineup .map a::before,
#brandlineup .map a::after,
#brandlineup .window a::before,
#brandlineup .window a::after {
	width: 0.254vw;
	height: 6.35vw;
}

#brandlineup .map a span,
#brandlineup .window a span {
	margin: 0 4.064vw;
}

#brandlineup .map a span::before,
#brandlineup .window a span::before {
	top: 0.508vw;
}

#brandlineup .map {
	margin-bottom: 1.524vw;
}

#brandlineup .map a span::before {
	width: 3.81vw;
	height: 5.334vw;
	margin-right: 1.016vw;
}

#brandlineup .window {
	margin-top: 2.032vw;
	margin-bottom: 0;
}

#brandlineup .window a span::before {
	width: 4.572vw;
	height: 4.572vw;
	margin-right: 2.032vw;
}

#brandlineup .ttl_set {
	padding-bottom: 2.54vw;
	margin-bottom: 4.064vw;
}

#brandlineup .ttl_set.ttl_set_h3::after {
	width: 33.528vw;
}

#brandlineup .ttl_set.ttl_set_h4 {
	flex-direction: column;
	align-items: flex-start;
	margin: 22.86vw auto 16.256vw;
}

#brandlineup .sort_txt {
	font-size: 3.048vw;
}

#brandlineup .brand_list_area {
	width: 91.44vw;
}

#brandlineup .brand_list_area section {
	width: 91.44vw;
	margin: 0 auto 25.4vw;
}

#brandlineup .modal_list::before,
#brandlineup .modal_list::after {
	display: none;
}

#brandlineup .modal_list li {
	cursor: pointer;
	width: 41.656vw;
	margin-bottom: 14.224vw;
}

#brandlineup .modal_list figure {
	margin-bottom: 5.08vw;
}

#brandlineup .modal_list h5 {
	font-size: 5.08vw;
	margin-bottom: 2.032vw;
}

#brandlineup .modal_list p {
	font-size: 3.048vw;
}

#brandlineup .modal_list + h4 {
	margin: 8.636vw auto 16.256vw;
}

#brandlineup .bnr_area ul {
	flex-direction: column;
	width: 91.44vw;
	margin: auto;
}

#brandlineup .bnr_area li {
	width: 100%;
	margin: 0 0 8.128vw;
}

.modal .modal_box {
	flex-direction: column;
	padding: 6.096vw;
	width: 73.152vw;
	overflow-y: auto;
	max-height: calc(100vh - 30.48vw);
}

.modal .modal_box figure {
	width: 100%;
	margin-bottom: 6.096vw;
}

.modal .modal_box div {
	width: 100%;
}

.modal .modal_wrap h5 {
	margin-bottom: 4.064vw;
}

.modal .modal_wrap h5 span {
	font-size: 7.112vw;
	line-height: 1.2;
}

.modal .modal_wrap h5 small {
	font-size: 4.572vw;
	line-height: 1.2;
	margin-top: 2.032vw;
}

.modal .modal_wrap p {
	font-size: 3.81vw;
}

.modal .modal_wrap .prev,
.modal .modal_wrap .next {
	background-size: 3.556vw 7.112vw;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	width: 12.7vw;
	height: 20.32vw;
}

.modal .modal_wrap .prev {
	left: -13.208vw;
}

.modal .modal_wrap .next {
	right: -13.208vw;
}

.modal .modal_close {
	font-size: 3.556vw;
	margin-top: 10.16vw;
}

}

