@charset "UTF-8";
/* CSS Document */

/*
=========================================
Original Layout
=========================================
*/

main{
	padding-top: 3.92rem;
}
@media (max-width: 1039px){
	main{
		padding-top: 12.47rem;
	}
}

/*header*/
.header__inner{
	display: none;
	opacity: 0;
	transform: translateY(-20px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}
@media (max-width: 1039px){
	.header__inner{
		display: flex;
		opacity: 1;
		transform: translateY(0);
		justify-content: space-between;
		align-items: center;
		padding: 2.0rem;
		max-width: var(--content-width);
		margin: auto; 
	}
}
.header__inner.visible{
	display: flex;
	opacity: 1;
	transform: translateY(0);
	justify-content: space-between;
	align-items: center;
	padding: 2.0rem;
	max-width: var(--content-width);
	margin: auto; 
}

/*Section Separator*/
section:not(.feature):not(.order)::after{
	content: "";
	position:absolute;
	bottom: 0;
	left: 50%;
	width: 100vw;
	height: 2px;
	background-color: #4b4b4b;
	pointer-events: none;
	transform: translateX(-50%) scaleY(0.5);
}

/* section background color*/
section.magazine::before, section.news::before, section.order::before{
	content: "";
	position:absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 100%;
	background-color: #f0ebe1;
	z-index: -1;
}

/*
=========================================
Hero-layout
=========================================
*/
.hero-layout{
	position: relative;
	display: flex;
	justify-content: space-between;
	gap: 3.0rem;
	padding-bottom: 4.0rem;
}
@media (max-width: 1039px){
	.hero-layout{
		display: block;
	}
}
.hero-layout::after{
	content: "";
	position:absolute;
	bottom: 0;
	left: 50%;
	width: 100vw;
	height: 2px;
	transform: translateX(-50%) scaleY(0.5);
	background-color: #4b4b4b;
	pointer-events: none;
}
@media (max-width: 1039px){
	.hero-slider{
		margin-inline: auto;
	}
}


/*
=========================================
Side Menu
=========================================
*/
.side-menu{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
@media (max-width: 1039px){
	.side-menu{
		display: none;
	}
}
.side-menu__logo{
	max-width: 22.0rem;
	height: auto;
	margin-top: 2.0rem;
}
.side-menu__list{
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	text-transform: uppercase;
	font-size: var(--font-nav);
}
.side-menu__list li:nth-child(n+4){
	font-size:1.3rem;
}
.side-menu__list a:hover{
	text-decoration: underline;
	text-underline-offset: 0.3em;
}
.side-meunu__icon{
	display: flex;
}
.side-meunu__icon a:hover{
	opacity: 0.5;
	transition: .3s;
}
.side-meunu__icon img{
	width: 50%;
	height: auto;
}

/*
=========================================
Hero-slider
=========================================
*/
.hero-slider-wrapper{
	position: relative;
	max-width: 75.0rem;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.hero-slider{
	position: relative;
	overflow: hidden;
}
.hero-slider__slides{
	display: flex;
	transition: transform 0.5s ease-in-out;
}
.hero-slider__slide{
	min-width: 100%;
	box-sizing: border-box;
}
.hero-slider__slide a img:hover{
	opacity: 0.7;
	transition: 0.3s;
}
.hero-slider__slide img{
	width: 100%;
	height: auto;
	display: block;
}

.hero-slider__nav{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 2.0rem;
	color: #4b4b4b;
	background: rgba(255, 255, 255, 0.4);
	border:none;
	cursor: pointer;
	z-index: 1;
	padding: 0.5rem 1rem;
	transition: background-color 0.3s;
}
@media (max-width: 767px){
	.hero-slider__nav{
		display: none;
	}
}
.hero-slider__nav:hover {
	background: rgba(255, 255, 255, 0.9);
	transition: .3s;
}
.hero-slider__nav--prev{
	left: 10px;
}
.hero-slider__nav--next{
	right: 10px;
}

.hero-slider__indicators{
	position: absolute;
	bottom: -2.4rem;
	display: flex;
	gap: 1.0rem;
}
.indicator{
	width: 8px;
	height: 8px;
	background-color: #ccc;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	padding: 0;
	transition: background-color 0.3s;
}
.indicator.active{
	background-color: #333;
}

/*
=========================================
Announce
=========================================
*/
.announce{
	position: relative;
	text-align: center;
	padding: 1.2rem 0 1.2rem;
}
.announce::after{
	content: "";
	position:absolute;
	bottom: 0;
	left: 50%;
	width: 100vw;
	height: 2px;
	transform: translateX(-50%) scaleY(0.5);
	background-color: #4b4b4b;
	pointer-events: none;
}
.announce a:hover{
	border-bottom: 1px solid #333;
}



/*
=========================================
NEW ARRIVAL 
=========================================
*/

/* Section : new-arrival
    → Uses styles from different.css */


/*
=========================================
FEATURE
=========================================
*/
.feature__item--pickup{
	max-width: 75.0rem;
	margin-inline: auto;
	margin-bottom: 4.4rem;
	display: grid;
  	grid-row-gap: 0.6rem;
}
@media (max-width: 767px){
	.feature__item--pickup{
		max-width: 100%;
	}
}

/*  feature__slider  */

.swiper-container{
	overflow: hidden;
}
.swiper-slide.feature__item {
	width: 29.0rem;
	flex-shrink: 0;
	display: grid;
	grid-row-gap: 0.6rem;
}
@media (max-width: 768px) {
	.swiper-slide.feature__item {
		width: 75%;
	}
}
.swiper-slide.feature__item img {
  width: 100%;
  height: auto;
  display: block;
}

/*  feature - common style  */

.feature__item--pickup time, .feature__slider time{
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 400;
	font-style: normal;
}
a.feature__link:hover{
	opacity: 0.7;
	transition: .3s;
}
a.feature__title:hover{
	text-decoration: underline;
	text-underline-offset: 0.3em;
}


/*
=========================================
MAGAZINE
=========================================
*/
.magazine{
	font-size: clamp(1.2rem, 1vw + 0.6rem, 1.4rem);
}
.magazine .magazine__lead h3{
	text-align: center;
	margin-bottom: 1.0rem;
}
.magazine .magazine__lead img{
	max-width: 23.6rem;
	height: auto;
	margin: auto;
	margin-bottom: 3.0rem;
}
@media (max-width: 767px){
	.magazine .magazine__lead img{
		width: 60%;
	}
}

.magazine__article{
	display: flex;
	justify-content: space-between;
	border: 2.5px solid #007dbe;
	border-radius: 15px;
	overflow: hidden;
	max-width: 90.0rem;
	aspect-ratio: 900 / 500;
	margin: auto;
	font-family: "DotGothic16", sans-serif;
	font-weight: 400;
	font-style: normal;

}
@media (max-width: 767px){
	.magazine__article{
		flex-direction: column;
		aspect-ratio: auto;
	}
}
.magazine__article--pickup{
	width: 50%;
	position: relative;
}
@media (max-width: 767px){
	.magazine__article--pickup{
		width: 100%;
		height: 60vh;
	}
}
.magazine__article--pickup img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}
.magazine__article--pickup img:hover{
	opacity: 0.7;
	transition: 0.3s;
}
.magazine__article--pickup .article-caption{
	position: absolute;
	bottom: 5%;
	left: 50%;
	transform: translateX(-50%);
	width: 88%;
}
.magazine__article--pickup .article-caption p{
	color: #007dbe;
	border-radius: 5px;
	border: 1.5px solid #007dbe;
	background-color: #f0ebe1;
	padding: 0.6em;
}

.magazine__article-list{
	width: 50%;
	display: grid;
	grid-auto-rows: 1fr;
	row-gap: 0.2rem;
}
@media (max-width: 767px){
	.magazine__article-list{
		width: 100%;
	}
}
.magazine__article-list li{
	display: flex;
	align-items: center;
	background-color: #007dbe;
	color: #ebe6dc;
	padding: 0.8em 1.6em;
}
.magazine__article-list li:not(.coming-soon):hover{
	background-color: #f0ebe1;
	color: #007dbe;
}
.magazine__article-list li a{
	width: 100%;
}
@media (max-width: 767px){
	.magazine__article--pickup .article-caption span, .magazine__article-list li span{
		padding-left: 1em;
	}
}

/*
=========================================
NEWS
=========================================
*/
.news__list{
	display: flex;
	flex-direction: column;
	row-gap: 1.6rem;
	font-size: 1.3rem;
}
.news__item{
	display: flex;
	column-gap: 3.0rem;
}
@media (max-width: 767px){
	.news__item{
		flex-direction: column;
		row-gap: 0.2rem;
	}
}
.news__item a:hover{
	text-decoration: underline;
	text-underline-offset: 0.3em;
}
.news__item time{
	font-size: 1.2rem;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 400;
	font-style: normal;
}

