@charset "UTF-8";

html {
	font-size: 62.5%;
	overflow: auto;
	scroll-behavior: smooth;
}

body {
	font-family: "游明朝体", "Yu Mincho", 'Noto Serif JP', YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: 1.6rem;
	color: #333;
	overflow-x: hidden;
	position: relative;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 1.55;
}

.hv:hover {
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}

ul,
ol {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	background: transparent;
	outline: none;
	color: inherit;
	text-decoration: underline;
}

img {
	vertical-align: bottom;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

th,
td {
	text-align: left;
	vertical-align: top;
}

input[type="submit"] {
	cursor: pointer;
}

a:hover {
	text-decoration: none;
}

span {
	font-weight: inherit;
}

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

::selection {
	background: #f8f0ea;
}

::-moz-selection {
	background: #f8f0ea;
}

.sp {
	display: none;
}

.hv {
	display: block;
	text-decoration: none;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.hv:hover {
	opacity: .7;
}
.btn {
    align-items: center;
    margin: 50px auto 95px;
    font-size: 1.9rem;
    display: flex;
    place-content: center;
    width: 22.7%;
    height: 5vw;
    max-height: 60px;
    border: 1px solid;
    gap: 12px;
}
.btn:before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 12px;
    background: #333;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
h1 {
	width: 252px;
	margin: 0 auto 30px;
	margin: 0 auto;
	-webkit-transition-duration: 300ms;
	transition-duration: 300ms;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}

h1.small {
	transform: translate3d(0px, -2.4rem, 0px) scale(0.5);
}

h2 {
	text-align: center;
	font-size: 3rem;
	font-weight: 500;
	margin: 0 auto;
	padding: 50px 0 0 0;
}

h3 {
    text-align: center;
    font-weight: 500;
    font-size: 2.3rem;
    padding: 1em 0;
}

p {
	text-align: center;
	line-height: 2.125;
	padding: 1.13em 0;
}

header {
	position: fixed;
	width: 100%;
	background: #fff;
	z-index: 9999;
	padding-top: 12px;
}

.header__inner {
    max-width: 1600px;
    margin: 0 auto;
    border-top: 3px solid;
    border-bottom: 1px solid;
    position: relative;
    padding: 65px 0 0;
}

.header__inner:before {
	content: '';
	height: 1px;
	width: 100%;
	background: #333;
	top: 3px;
	position: absolute;
}

.global-nav {
	margin-top: 35px;
}

.global-nav__item {
	position: relative;
    transition: all .3s;
    padding: 15px 0;
    margin-right: -1px;
}

.global-nav__item:not(:last-child):after {
	position: absolute;
	content: '';
	width: 1px;
	background: #333;
	height: 45%;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}
/* .global-nav__item:not(:first-child):before {
	position: absolute;
	content: '';
	width: 1px;
	background: #333;
	height: 45%;
	top: 50%;
	transform: translateY(-50%);
	left: -1px;
} */

.global-nav__link,
.global-nav__title {
	font-size: 1.6rem;
	text-decoration: none;
	width: 100%;
	display: block;
	padding: 5px 25px;
	box-sizing: border-box;
}

.global-nav__link.current,
.global-nav__title.current {
	background: #000;
	color: #fff;
}

.global-nav__item:hover .sub-nav {
	display: block;
}

.global-nav__list {
	display: flex;
	justify-content: center;
}

.sub-nav {
	display: none;
	width: 100%;
	position: absolute;
	top: 65px;
	left: 0;
	background: #fff;
	text-align: center;
	box-sizing: border-box;
}

.sub-nav:before {
	content: '';
	display: block;
	position: absolute;
	width: 11px;
	height: 6px;
	background: #333;
	left: 50%;
	transform: translateX(-50%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	top: -15px;
	opacity: .7;

}

.sub-nav__link {
	font-size: 1.6rem;
	text-decoration: none;
	padding: 9px 0;
	border-bottom: 1px solid;
	border-right: 1px solid;
	border-left: 1px solid;
}

.sub-nav__link:hover {
	text-decoration: underline;
}
.copyright {
    text-align: center;
    font-size: 1.5rem;
    padding: 45px 0;
    border-top: 1px solid;
}
main {
    max-width: 1600px;
    margin: 0 auto;
    padding-top: 255px;
    width: 92%;
}
main.top {
    width: 88%;
}
/* TOP */
/* .top */
.top__column {
	display: flex;
	justify-content: space-between;
	max-height: 1575px;
	box-sizing: border-box;
	padding: 6% 0;
	border-bottom: solid 1px;
}
.top__column:last-child {
	border: none;
}
.top__item {
	position: relative;
	width: 46.6%;
	height: 100%;
}

.top__item:nth-child(2) {
	margin-top: 27.5%;
}

.top__item a {
	overflow: hidden;
	width: 100%;
	display: block;
	height: 100%;
}

.top__item img {
	position: relative;
	transition: all 0.5s 0s ease;
}

.top__item img:hover {
	transform: scale(1.05);
}

.top__num {
	position: absolute;
	top: 0;
	right: -110px;
	font-size: 2.4rem;
	line-height: 2;
	font-weight: 600;
}

.top__item:last-child .top__num {
	top: inherit;
	right: inherit;
	bottom: 0;
	left: -110px;
}

.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger {
	opacity: 0;
}
/* .identity */
.identity__box {
    padding: 95px 0 100px;
}
/* .collections */
.collections__column {
	display: flex;
	justify-content: space-between;
	max-height: 1575px;
	box-sizing: border-box;
	padding: 5% 0;
	border-bottom: solid 1px;
}
.collections__column:last-child {
	border: none;
}
.collections__item {
	position: relative;
	width: 46.6%;
	height: 100%;
}
.collections__item a {
	overflow: hidden;
	width: 100%;
	display: block;
	height: 100%;
}

.collections__item img {
	position: relative;
	transition: all 0.5s 0s ease;
}

.collections__item img:hover {
	transform: scale(1.05);
}

.collections__num {
    font-size: 3rem;
    font-weight: 600;
    padding-top: 20px;
    display: block;
}
/* .stockist */
.stockist__item {
    border-bottom: 1px solid;
    max-width: 1000px;
    box-sizing: border-box;
    padding: 15px;
    margin: 0 auto;
}
.stockist__item p {
    text-align: left;
    font-size: 1.6rem;
    line-height: inherit;
    padding: 0.6em;
}
.stockist__list {
    padding-top: 95px;
    padding-bottom: 170px;
}
/* .collections-detail */
.collections-detail {
    max-width: 1000px;
    margin: 0 auto;
}
.collections-detail__item {
    display: flex;
    justify-content: space-between;
    padding-top: 75px;
    flex-wrap: wrap;
    gap: 30px 0;
    border-bottom: 1px solid;
    padding-bottom: 90px;
}
.collections-detail__main-image {
    width: 48%;
	overflow: hidden;
	height: 100%;
}
.collections-detail table {
    width: 47%;
}
.collections-detail caption {
    font-size: 2.6rem;
    text-align: left;
}
.collections-detail tr,
.collections-detail th,
.collections-detail td {
    display: block;
}
.collections-detail tr {
    border-bottom: solid 1px;
    padding: 1.1em 0px;
}
.collections-detail th {
	padding-bottom: 0.5em;
}
.collections-detail td {
    line-height: 1.2;
    padding-left: 1.4em;
}
.collections-detail__images-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 30px 2.66%;
}
.collections-detail__images-item {
    width: 23%;
    overflow: hidden;
}
.collections-detail__images-title {
    padding-bottom: 15px;
}
.collections-detail__column {
    padding-top: 40px;
}
.collections-detail img {
	transition: all 0.5s 0s ease;
}
.collections-detail img:hover {
	transform: scale(1.05);
}
/* .contacts */
.contacts {
    max-width: 1000px;
	padding-bottom: 68px;
}
.contacts dl {
    border-bottom: 1px solid #e7e7e7;
    display: flex;
    align-items: center;
}
.contacts dl:has(textarea) {
    align-items: baseline;
}
.contacts button {
    background: #000;
    color: #fff;
    font-size: 1.9rem;
    padding: 15px 0;
    cursor: pointer;
	margin: 30px auto 0;
    width: 27.8%;
    box-sizing: border-box;
    border: none;
    font-family: 'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    display: flex;
    align-items: center;
    place-content: center;
    gap: 18px;
}
.contacts button:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 11px;
    background: #fff;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.contacts dt {
    width: 20%;
    border-right: 1px solid #e7e7e7;
	box-sizing: border-box;
}
.contacts dd {
    width: 80%;
	box-sizing: border-box;
	padding: 20px 40px 20px 40px;
}
.contacts input[type="text"],
.contacts textarea {
    padding: 15px;
    width: 100%;
    box-sizing: border-box;
    display: block;
	border: 1px solid #333;
}
.contacts textarea {
    height: 172px;
}
.contacts h2 {
    padding-bottom: 70px;
}
.contacts .radio-input {
    display: none;
}
.contacts .radio-input + label {
    padding-left: 35px;
    position: relative;
    margin-right: 20px;
}
.contacts .radio-input + label::before {
	content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 25px;
    height: 25px;
    border: 1px solid #999;
    border-radius: 50%;
}
.contacts .radio-input:checked + label::after{
	content: "";
	display: block;
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
	left: 3px;
	width: 21px;
	height: 21px;
	background: #666666;
	border-radius: 50%;
  }
/*---------------------------------------------------------------------------------------------------

  sp

---------------------------------------------------------------------------------------------------*/



@media screen and (max-width: 600px) {
	h2 {
		font-size: 5.4vw;
	}

	h3 {
		font-size: 4.6vw;
	}

	p {
		line-height: 1.83;
		font-size: 3.2vw;
	}
	.btn {
		margin: 8vw auto 12vw;
		font-size: 3.6vw;
		width: 45%;
		height: 10vw;
		border-width: 0.2vw;
		gap: 2vw;
	}
	.btn:before {
		width: 1.2vw;
		height: 2vw;
	}
	.sub-nav:before {
		content: none;
	}
	header {
		padding-top: 2vw;
	}
	.header__menu-btn {
		width: 6.8vw;
		height: 2.7vw;
		position: absolute;
		cursor: pointer;
		display: block;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.header__menu-btn span {
		display: inline-block;
		transition: transform 200ms ease-in-out;
		position: absolute;
		left: 0;
		height: 1px;
		background: #000;
		width: 100%;
	}

	.header__menu-btn span:nth-of-type(1) {
		top: 0;
	}

	.header__menu-btn span:nth-of-type(2) {
		bottom: 0;
	}

	.header__menu-btn.active span:nth-of-type(1) {
		top: 50%;
		left: 0;
		transform: translateY(-50%) rotate(-45deg);
		width: 100%;
	}

	.header__menu-btn.active span:nth-of-type(2) {
		top: 50%;
		left: 0;
		transform: translateY(-50%) rotate(45deg);
		width: 100%;
	}

	nav.global-nav {
		position: fixed;
		z-index: 999;
		top: 0;
		right: -120%;
		width: 100%;
		height: 100vh;
		background: rgba(0, 0, 0, 0.9);
		transition: all 0.5s;
		margin-top: 16.8vw;
	}

	nav.global-nav.active {
		right: 0;
	}
	.global-nav__item:hover .sub-nav {
		position: inherit;
		top: inherit;
	}
	.global-nav__list {
		flex-wrap: wrap;
	}
	.global-nav__item {
		width: 100%;
	}
	.global-nav__link,
	.global-nav__title {
		font-size: 4vw;
		color: #fff;
	}
	.sub-nav {
		background: inherit;
		color: #fff;
	}
	.sub-nav__link {
		font-size: 1.6rem;
		text-decoration: none;
		padding: 9px 0;
		border-right: none;
		border-left: none;
	}
	.sub-nav__link {
		font-size: 4.4vw;
		border-color: #444;
		width: 88%;
		margin: 0 auto;
	}
	h1 {
		width: 24vw;
		margin: 0 auto;
	}

	.header__inner {
		max-width: 1600px;
		padding: 4vw 0 3vw;
		max-width: 92%;
		box-sizing: border-box;
		height: 15vw;
	}

	.header__inner:before {
		top: 2px;
	}
	.copyright {
		font-size: 2.2vw;
		padding: 4vw 0;
	}
	main {
		max-width: 92%;
		padding-top: 17vw;
	}
/* TOP */
/* .top */
	.top__column {
		flex-wrap: wrap;
		padding: 8vw 0;
		gap: 7vw;
	}

	.top__item {
		width: 100%;
	}

	.top__item:nth-child(2) {
		margin-top: 0;
	}

	.top__num,
	.top__item:last-child .top__num {
		position: inherit;
		top: inherit;
		right: inherit;
		left: inherit;
		font-size: 4vw;
		text-align: center;
		display: block;
		line-height: 2.5;
	}
	/* identity */
	.identity__box {
		padding: 16vw 0 14vw;
	}
	/* .collections */
	.collections__column {
		flex-wrap: wrap;
		padding: 8vw 0 13vw;
		gap: 7vw;
	}

	.collections__item {
		width: 100%;
	}

	.collections__item:nth-child(2) {
		margin-top: 0;
	}

	.collections__num,
	.collections__item:last-child .collections__num {
		position: inherit;
		top: inherit;
		right: inherit;
		left: inherit;
		font-size: 4vw;
		text-align: center;
		display: block;
		line-height: 2.5;
		padding: 0;
	}
	/* .stockist */
	.stockist__item {
		padding: 2vw;
	}
	.stockist__item p {
		font-size: 3.4vw;
	}
	.stockist__list {
		padding-top: 10vw;
		padding-bottom: 10vw;
	}
	/* .collections-detail */
	.collections-detail__main-image {
		width: 100%;
		order: 1;
	}
	.collections-detail__images{
		order: 2;
	}
	.collections-detail table {
		width: 100%;
		order: 3;
	}

	.collections-detail__info {
    	padding-top: 8vw;
    	gap: 0;
	}
	.collections-detail caption {
		font-size: 5vw;
	}
	.collections-detail tr, .collections-detail th, .collections-detail td {
		font-size: 3.3vw;
	}
	.collections-detail__item {
		border: none;
		padding-top: 0;
		padding-bottom: 14vw;
		gap: 0;
	}
	.collections-detail__images-title {
		font-size: 3.4vw;
		padding: 2.4vw 0;
	}
	.collections-detail__images-list {
		gap: 2.2vw 2.66%;
		padding-bottom: 6.5vw;
	}
	/* .contacts */
	.contacts {
    	padding-bottom: 15vw;
	}
	.contacts dt, 
	.contacts dd {
		width: 100%;
		font-size: 3.4vw;
		padding: 0;
	}
	.contacts dl {
		flex-wrap: wrap;
		padding: 6vw 0;
        gap: 4vw;
	}
	.contacts input[type="text"], .contacts textarea {
		padding: 3.6vw;
	}
	.contacts textarea {
		height: 42vw;
	}
	.contacts .radio-input + label::before {
		width: 3vw;
		height: 3vw;
	}
	.contacts .radio-input + label {
		padding-left: 5vw;
		margin-right: 4vw;
	}
	.contacts .radio-input:checked + label::after {
		left: 0.6vw;
		width: 2.4vw;
		height: 2.4vw;
	}
	.contacts h2 {
		padding-bottom: 8vw;
	}
	.contacts button {
		font-size: 3.4vw;
		padding: 2.7vw 0;
		margin: 6vw auto 0;
		width: 53%;
		gap: 3vw;
	}
	.contacts button:after {
		width: 1vw;
		height: 2vw;
	}

}


/*---------------------------------------------------------------------------------------------------

 tb

---------------------------------------------------------------------------------------------------*/
@media screen and (min-width:600px) and (max-width:1140px) {
	.top__num {
		right: -10vw;
		font-size: 2.2vw;
	}

	.top__item:last-child .top__num {
		left: -10vw;
	}

}

/*---------------------------------------------------------------------------------------------------
2024.07.17 TOP
---------------------------------------------------------------------------------------------------*/
.Body__MainVisual { padding: 6% 0; }
.--PC { display: block; }
.--SP { display: none; }
@media screen and (max-width: 600px) {
  .--PC { display: none; }
  .--SP { display: block; }
  .--twoColumn { flex-direction: column; }
  .topPhoto { padding: 0; }
  .topPhoto:nth-of-type(1) { padding: 8vw 0; }
  .--paddingBottomM { padding-bottom: 8vw; }
  .topPhoto__Item { padding-bottom: 8vw; width: 100%; }

}

/*---------------------------------------------------------------------------------------------------
slick js
---------------------------------------------------------------------------------------------------*/
.slick-prev, .slick-next { font-size: 0; line-height: 0; position: absolute; top: 50%; display: block; width: 12vw; height: 12vw; padding: 0; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); cursor: pointer; color: transparent; border: none; outline: none; background: transparent; }
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { color: transparent; outline: none; background: transparent; }
.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before { opacity: 1; }
.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: .25; }
.slick-prev:before, .slick-next:before { font-family: 'slick'; font-size: 20px; line-height: 1; opacity: 1; color: white; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.slick-prev { left: -25px; }
[dir='rtl'] .slick-prev { right: -25px; left: auto; }
.slick-prev:before { content: '←'; }
[dir='rtl'] .slick-prev:before { content: '→'; }
.slick-next { right: -25px; }
[dir='rtl'] .slick-next { right: auto; left: -25px; }
.slick-next:before { content: '→'; }
[dir='rtl'] .slick-next:before { content: '←'; }
.slick-dotted.slick-slider { margin-bottom: 30px; }
.slick-dots { position: absolute; bottom: -2vw; display: block; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; }
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer; }
.slick-dots li { background: none !important; border: none !important; }
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer; color: transparent; border: 0; outline: none; background: transparent; }
.slick-dots li button:hover, .slick-dots li button:focus { outline: none; }
.slick-dots li button:hover:before, .slick-dots li button:focus:before { color: #917b00; opacity: 0.7; }
.slick-dots li button:before { font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 1.5rem; line-height: 20px; position: absolute; top: 0; left: 0; width: 20px; height: 20px; content: '\f111'; text-align: center; opacity: 1; color: #b6b6b6; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.slick-dots li.slick-active button:before { opacity: 1; color: #000; }
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }
.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after { display: table; content: ''; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }
.slick-slide { display: none; float: left; min-height: 1px; }
[dir='rtl'] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden { display: none; }
.slider .slick-arrow { width: 1.75vw; height: auto; position: absolute; z-index: 1; top: 47%; opacity: 0.5; }
.slider .slick-arrow:hover { opacity: 1; cursor: pointer; }
.slider .prev-arrow { left: 0; }
.slider .next-arrow { right: 0; }
