@charset "UTF-8";
:root {
    --text: 15px;
    --title: 50px;
    --main-color: linear-gradient(180deg,rgba(46, 24, 36, 1) 0%, rgba(70, 42, 33, 1) 72%, rgba(97, 60, 39, 1) 100%);
	--text-color: #fff;
    --sub-color:#D0920E;
	--footer-b: linear-gradient(180deg,rgba(6, 2, 3, 1) 0%, rgba(148, 106, 9, 1) 100%);
	--text: #fff;/*ボタン文字*/
	--btn: #d19710;
}

body{
    font-family: "Noto Serif JP", serif;
	letter-spacing: 0.1em;
	background-color: #060203;
	color: var(--text-color);
	min-width: 375px;
	scroll-behavior: smooth;
}

/*================
 font
==================*/
.en{
    font-family: "Benne", serif;
}
.playwrite{
    font-family: "Playwrite DK Loopet", cursive;
	text-transform:capitalize;
}

/*================
セクション共通
==================*/

img{
	width: 100%;
}

h2{
	color:  var(--sub-color);
	font-weight: 300;
	font-size: 3.5vw;
	letter-spacing: 0.15em;
}

h3{
	color:  var(--sub-color);
	font-size: 1vw;
	font-weight: 300;
	letter-spacing: 0.15em;
}

section{
	width: 100%;
	text-align: center;
	margin-top: 130px;
}

a{
	color: inherit;
	text-decoration: none;
}

.flex{
	display: flex;
}

.column{
	flex-direction: column;
}

.ab{
	position: absolute;
}

.re{
	position: relative;
}

.fead_in, .fead_up {
    opacity: 0; /* 初期状態は非表示 */
    transition: opacity 0.3s ease;
}

.big{
	font-size: 1.5em;
	letter-spacing: 0.2em;
	line-height: 1.8;
	font-weight: 500;
}

/*hr*/

.hr{
	width: 100%;
	height: 1px;
	border-bottom: solid 1px #9F9F9F;
	margin: 30px auto;
}

.hr.dot{
	border-bottom: dashed 1px #C6C6C6;
}

/*btn*/
a.btn{
	display: flex;
    justify-content: space-between;
    align-items: center;
	text-align: center;
	text-decoration: none;
	width: 30vw;
	margin: auto;
	padding: 2.5rem 3rem 2rem;
	background: var(--main-color);
	color: var(--text);
	position: relative;
	transition: 0.3s;
	font-weight: 400;
}
a.btn::before {
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: 1.9rem;
	transform: translateY(calc(-50% - 2px)) rotate(45deg);
	width: 10px;
	height: 1px;
	background: var(--text);
}
a.btn::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: translateY(-50%);
	width: 50px;
	height: 1px;
	background-color: var(--text);
}

a.btn:hover {
	opacity: 0.7;
}


/*タイトル*/
.title{
	display: flex;
	flex-direction: column;
	position: relative;
	margin-bottom: 2em;
}
.title::before{
	content: "";
	width: 1px;
	height: 45px;
	background: var(--main-color);
	position: absolute;
	top: -80px;
	left: 50%;
	transform: translateX(-50%);
}



.new,
.coming,
.pic_sold{
	position: relative;
}

.new::before{
	content:"NEW";
	position: absolute;
	background: #de6e13;
	padding: 0.5em 1em;
	top: 0;
	left: 0;
	font-weight: 600;
	color: var(--text);
	z-index: 3;
}


.coming::after{
	content: "";
	display: inline-block;
	position: absolute;
	background-image: url(https://www.es-koyama.com/image/coming.png);
	background-size: contain;
    width: 175px;
    height: 83px;
	top: 25%;
	left: 50%;
	transform: translate(-50%, 0);
}
.pic_sold::after{
	content: "";
	display: inline-block;
	position: absolute;
	background-image: url(https://www.es-koyama.com/image/sold.png);
	background-size: contain;
    width: 127px;
    height: 67px;
	top: 25%;
	left: 50%;
	transform: translate(-50%, 0);
}


/*================
    fv
==================*/

.fv_area{
	margin: 0 auto;
}

.catalog_area{
	display: flex;
	margin-top: 5vw;
	justify-content: space-between;
	align-items: flex-end;
	padding: 0 10%;
	gap: 2vw;
}

.catalog_area h3{
	font-size: 1.2vw;
	margin-bottom: 0.1em;
	letter-spacing: 0.1em;
}

.catalog_area h2{
	color: var(--text-color);
	font-size: 2.8em;
}

.catalog_area .catalog_img{
	width:350px;
}

.catalog_area .img_area{
	margin-inline: 50px;
}

.catalog_area .catalog_title{
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 5px 0 20px;
	gap: 10px;
}
	
.catalog_area .catalog_text{
	justify-content: flex-start;
	gap: 60px;
    width: 40%;
	padding-bottom: 2em;
}

.catalog_area .catalog_text .text{
    text-align: left;
    font-size: 1em;
	letter-spacing: .1em;
	line-height: 2;
    width: 95%;
}

.catalog_area .catalog_text .btn{
    margin: 0;
}

.fv_area .slider_area{
	margin: 7vw 0;
}

.slide{
	margin-right: 10px;
}
/*================
    ピックアップ
==================*/

.pickup_area .title{
	margin-bottom: 1em;
}

#sync1{
  --arrow-size: 40px;
  --arrow-shadow: 0 2px 8px rgba(0,0,0,.15);
  --arrow-bg: rgba(255,255,255,.95);
  max-width: 90%; 
	margin: 0 auto; padding: 16px;
	overflow: hidden;
}

/* サムネ行 */
#sync1 .thumb-row{ position: relative; margin-bottom: 14px; }
#sync1 .slider-nav{ position: relative; }
#sync1 .slider-nav .slick-list{ overflow: visible !important; } /* 見切れを出す */
#sync1 .slider-nav .thumb{ padding: 10px; }
#sync1 .slider-nav img{
  display:block; width:100%; height:auto; aspect-ratio:5/3; object-fit:cover; border-radius:8px;
}
#sync1 .slider-nav .slick-center img{ box-shadow: 0 0 0 3px #333 inset; }

/* メイン行 */
#sync1 .slider-for .slide{ overflow:hidden; border-radius:12px; }
#sync1 .slider-for img{ display:block; width:100%; height:auto; }

#sync1 .slide_body{
    top: 110px;
	left: 50%;
    gap: 30px;
    width:85%;
	transform: translate(-50%);
}

#sync1 .title_area .en{
	font-size: 2.5em;
	letter-spacing: .1em;
}

#sync1 .title{
	margin-bottom: 0;
	color: #fff;
}

#sync1 .title::before {
	top: -110px;
}

#sync1 .detail_area {
	gap: 100px;
	margin-bottom: 30px;
}

#sync1 .detail_area .text{
	width: 100%;
	text-align: left;
	font-size: .9em;
	line-height: 1.8;
}

#sync1 .detail_area .img{
    width: 60%;
    object-fit: contain;
	margin-left: 50px;
}

/* ドットは使わない */
#sync1 .slick-dots{ display:none !important; }
#sync1 .slick-slide{ outline:none; }

/* ---- 外付け矢印ボタン（サムネ用） ---- */
#sync1 .thumb-arrows{
  pointer-events:none; /* 中のボタンだけ有効化 */
}
#sync1 .thumb-arrows .btn{
  pointer-events:auto;
  position:absolute; top:50%; transform:translateY(-50%);
  width:var(--arrow-size); height:var(--arrow-size);
  border:0; border-radius:9999px; background:var(--arrow-bg); box-shadow:var(--arrow-shadow);
  z-index:10; cursor:pointer; padding:0;
}
#sync1 .thumb-arrows .btn:focus{ outline:2px solid #666; outline-offset:2px; }
#sync1 .thumb-arrows .prev{ left:-6px; }
#sync1 .thumb-arrows .next{ right:-6px; }

/* アイコン（CSSのみ） */
#sync1 .thumb-arrows .btn::before{
  content:""; position:absolute; inset:0; margin:auto; width:12px; height:12px;
  border-top:2px solid #333; border-right:2px solid #333; transform:rotate(45deg);
}
#sync1 .thumb-arrows .prev::before{ transform:rotate(225deg); left: 4px;}
#sync1 .thumb-arrows .next::before{ transform:rotate(45deg); right: 4px;}

/* メイン側のSlick矢印は念のため完全無効化 */
#sync1 .slider-for .slick-arrow{ display:none !important; }


/* pc 微調整 */
@media screen and (min-width:1500px){
 
    #sync1 .slide_back{
        aspect-ratio: 9 / 5;
    }

    #sync1 .detail_area .text{
        font-size: 1vw;
    }
}


/*================
    商品一覧
==================*/

.item_area .item_list{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	padding: 0 5vw;
	gap: 30px 10px;
}

.item_area .item a{
	transition: .3s;
}

.item_area .item a:hover{
    opacity: 0.8;
}

.item_area .item .name{
	font-size: 0.95em;
	font-weight: 500;
}

.item_area .item .price{
   font-size: 0.9em;
	margin-top: 0.5em;
}
.item_area .item .start_date{
   font-size: 0.7em;
	margin-top: 0.5em;
}


/*================
    予約エリア
==================*/

.order_area{
	background-color: #F1EDE6;
	padding: 80px 5%;
	gap: 30px;
}

.order_area .title::before{
	display: none;
}

.order_area .online_step{
	gap: 8%;
	align-items: center;
	justify-content: space-around;
	width: 90%;
	margin: 0 auto;
}

.order_area .online_step .img.pin{
	width: 40%;
}

.order_area .order{
	background-color: #FFFFFF;
	border: solid 1px #707070;
	padding: 3%;
	width: 85%;
	margin: 30px auto;
	color: #34090C;
}

.order_area .order .sub_title{
	font-size: 1.5em;
	color: #34090C;
}
.order_area .order .day{
	font-size: 1.5em;
}


/*================
    footer
==================*/

footer{
	text-align: center;
	padding: 50px;
	background: var(--footer-b);
	margin-top: 5vw;
	color: var(--text);
}

footer small{
	font-size: 0.5em;
	font-weight: 100;
	display: inline-block;
	margin-top: 30px;
}

footer .logo{
	width: 10vw;
	display: block;
	margin: 0 auto;
}

@media screen and (min-width: 751px) {
    .sp {
        display: none!important;
    }
}
@media screen and (max-width:750px) {
    .pc {
        display: none!important;
    }
	body{
		position: relative;
	}
	
    /*================
    セクション共通
    ==================*/

    h2{
        font-size: 12vw;
    }

    h3{
        font-size: 3.5vw;
    }
    section{
        margin-top: 35vw;
    }
    /*btn*/
    a.btn{
        width: 100%;
        padding: 2rem 1.5rem 1.5rem;
        font-size: 0.85em;
    }
    .new::before{
        font-size: 0.9em;
    }

    .coming::after{
        width: 175px;
        height: 83px;
        top: 18%;
    }
    .pic_sold::after{
        width: 127px;
        height: 67px;
        top: 18%;
    }
    /*================
        fv
    ==================*/
	.fv_area{
		padding-bottom: 30vw;
		position: relative;
	}
    .catalog_area{
		flex-direction: column;
        margin-top: 13vw;
        padding: 0 5vw;
		gap: 5vw;
    }
	
    .catalog_area h3{
        font-size: 3.2vw;
		margin-bottom: 1.5em;
    }

    .catalog_area h2{
        font-size: 7.5vw;
    }

    .catalog_area .catalog_img{
        width: 60vw;
    }

    .catalog_area .catalog_title{
        padding: 0;
        gap: 0;
    }
	
    .catalog_area .catalog_text{
        width: 100%;
        font-size: 3.5vw;
    }
	
    .catalog_area .catalog_text .text{
		text-align: center;
    }
	
    .catalog_area .btn{
        position: absolute;
		bottom: 0;
		width: 90%;
		left: 5%;
    }
	
    .fv_area .slider_area{
        margin: 2vw 0 0;
    }

    /*================
        ピックアップ
    ==================*/
    .pickitem{
        margin-top: 0;
		flex-direction: column;
    }

  #sync1 .thumb-arrows .prev{ left:-2px; }
  #sync1 .thumb-arrows .next{ right:-2px; }
    #sync1 .slider-nav img{ aspect-ratio:1/1;}

    #sync1 .slide_body{
        top: 30px;
        gap: 10px;
        width:90%;
    }
	
    #sync1 .slide_back{
        aspect-ratio: 9 / 16;
    }
	
	#sync1 .title_area{
		display: flex;
		flex-direction: column-reverse;
		gap: 3vw;
	}
    #sync1 .title_area .en{
        font-size: 5vw;
    }

    #sync1 .title{
        font-size: 7vw;
		letter-spacing: 0;
    }

    #sync1 .title::before {
        display: none;
    }

    #sync1 .detail_area {
        gap: 10px;
        margin-bottom: 30px;
		flex-direction: column;
    }
	
    #sync1 .detail_area.small {
        margin-bottom: 20px;
    }

    #sync1 .detail_area .text{
       display: none;
    }

    #sync1 .detail_area .img{
        width: 86%;
        object-fit: contain;
        margin-left: 8%;
		margin-top: 15px;
    }
	
    #sync1 .detail_area.small .img{
        width: 75%;
        margin-left: 13%;
    }
	
    #sync1 .btn_area{
        flex-direction: column;
		gap: 10px;
		
    }
    /*================
        商品一覧
    ==================*/

    .item_area .item_list{
        grid-template-columns: repeat(2, 1fr);
        padding: 0;
        gap: 1vw 0;
    }

	.item_area .item .text_area{
		padding: 1vw 2vw 2vw;
		text-align: left;
	}
	
	
    .item_area .item .name{
        font-weight: 600;
       font-size: 0.75em;
		letter-spacing: 0.05em;
    }

    .item_area .item .price{
       font-size: 0.9em;
        margin-top: 0.5em;
    }
    .item_area .item .start_date{
       font-size: 0.4em;
        margin-top: 0.5em;
		letter-spacing: 0.03em;
    }
	
    .item_area .new::before{
        font-size: 0.7em;
    }

    /*================
        予約エリア
    ==================*/

    .order_area{
        padding: 19vw 5%;
		gap: 10px
    }

    .order_area .online_step{
        gap: 15vw;
        width: 100%;
		flex-direction: column;
    }

    .order_area .online_step .img.pin{
        width: 90%;
    }

    .order_area .order{
        background-color: #FFFFFF;
        border: solid 1px #707070;
        padding: 3%;
        width: 85%;
        margin: 30px auto;
        color: #34090C;
    }

    .order_area .order .sub_title{
        font-size: 4.25vw;
		margin-top: 10px;
    }
    .order_area .order .day{
        font-size: 5vw;
    }
    .order_area .order .day .big{
        font-size: 2em;
    }


    /*================
        footer
    ==================*/

    footer{
        padding: 5vw;
    }

    footer small{
        margin-top: 3em;
    }

    footer .logo{
        width: 35vw;
        margin: 2vw auto;
    }
    /*================
        スマホ固定
    ==================*/
	.footer_fixed{
		position: fixed;
		bottom: 0;
		left: 0;
        transform: translateY(100%); /* 初期状態は画面外 */
        transition: transform 0.3s ease-in-out; /* スライド表示をスムーズに */
		width: 100%;
		padding: 3vw 5vw;
		background-color: rgba(13, 9, 11, 0.8);
	}
	
	.footer_fixed .btn{
		width: 100%;
		margin: 0 auto;
		background: var(--main-color);
	}

}
