@charset "utf-8";

/*

トップページ用のスタイルです。

*/

/* ------------ */
/* デザイン共通 */
/* ------------ */

article{padding:50px 0;}

ul li{list-style:none;}

/* ------ */
/* header */
/* ------ */

header{
	position:relative;
	width:100%;
	height:800px;
}

.main_visual::after,
.main_right::after,
.main_left::after {
	display:block;
	content:"";
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index:5;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.2);
}

header h1,
header .scroll_btn {
	display:block;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index:10;
	margin:auto;
}
header .scroll_btn { margin-top:0;  }
header .scroll_btn span.arrow,
header .scroll_btn span.text {
	position:absolute;
	right:0;
	left:0;
	color:#fff;
	letter-spacing:1px;
	text-align:center;
	font-size:0.8rem;
	font-weight:500;
	-webkit-transition: 0.2s ease-out;
	-moz-transition: 0.2s ease-out;
	-ms-transition: 0.2s ease-out;
	transition: 0.2s ease-out;
}
header .scroll_btn span.arrow { top:0; opacity:0.65; }
header .scroll_btn:hover span.arrow { opacity:1; }
header .scroll_btn span.text {
	bottom:0;
	text-shadow:2px 3px 3px rgba(0,0,0,0.75);
}

@media print,screen and (max-width:767px) {
	header h1 {
		width:50%;
		height:calc((50vw * 11)/ 42);
	}
	header .scroll_btn { display:none; }
	.main_visual,
	.main_right,
	.main_left {
		/*position:absolute;*/
		top:0;
		z-index:5;
		width:100%;
		height:calc((100vw * 2)/3);
		margin:auto;
	}
	header.main_visual { right:0; left:0; }
	.main_visual figure,
	.main_right figure,
	.main_left figure { position:absolute; z-index:5;}
	.main_visual .main,
	.main_right .main,
	.main_left .main {
		width:100%;
		height:50%;
		top:0;
		left:0;
	}
	.main_visual .vertical { width:calc(100% / 3); height:50%; }
	.main_visual .side { width:calc(100% / 3); height:25%; }
	.main_visual .v-01 { display:none; }
	.main_visual .v-02 { bottom:0; left:calc(100% / 3);}
	.main_visual .v-03 { display:none; }
	.main_visual .s-01 { bottom:25%; left:0; }
	.main_visual .s-02 { bottom:0; left:0; }
	.main_visual .s-03 { bottom:25%; right:0; }
	.main_visual .s-04 { bottom:0; right:0; }

	#good_design {
    position: absolute;
    top: -107px;
    right: 5px;
		left: auto;
    width: 65px;
    height: 101px;
    z-index: 10;
	}
}
@media print,screen and (min-width:768px) {
	
	header h1 {
		width:210px;
		height:60px;
	}
	header .scroll_btn {
		top:calc(50% + 60px);
		width:40px;
		height:40px;
	}
	.main_visual,
	.main_right,
	.main_left {
		position:absolute;
		top:0;
		z-index:5;
		max-width:1400px;
		max-height:800px;
		width:100%;
		height:calc((100vw * 4)/7);
		margin:auto;
	}
	header.main_visual { right:0; left:0; }
	.main_visual figure,
	.main_right figure,
	.main_left figure { position:absolute; z-index:5;}
	.main_visual .main,
	.main_right .main,
	.main_left .main {
		width:75%;
		height:50%;
		top:0;
		left:0;
		background:#333;
	}
	.main_visual .vertical { width:25%; height:50%; }
	.main_visual .side { width:25%; height:25%; }
	.main_visual .v-01 { top:0; right:0;}
	.main_visual .v-02 { bottom:0; left:25%;}
	.main_visual .v-03 { bottom:0; right:0; }
	.main_visual .s-01 { bottom:25%; left:0; }
	.main_visual .s-02 { bottom:0; left:0%; }
	.main_visual .s-03 { bottom:25%; right:25%; }
	.main_visual .s-04 { bottom:0; right:25%; }

	#good_design{
		position: absolute;
		top: -155px;
		left: 20px;
		width: 90px;
		height: 140px;
		z-index: 10;
	}
}
@media print,screen and (min-width:1100px) {
	header h1 {
		width:420px;
		height:110px;
	}
	header .scroll_btn {
		top:calc(50% + 110px);
		width:60px;
		height:60px;
	}

	#good_design{
		position: absolute;
		top: -310px;
		left: 40px;
		width: 180px;
		height: 279px;
		z-index: 10;
	}
}

/* ------ */
/*  main  */
/* ------ */

main {
	position:relative;
}

@media print,screen and (max-width:767px) {
	
}
@media print,screen and (min-width:768px) {
	main{ margin-top:calc((100vw * 4)/7); }
}
@media print,screen and (min-width:1100px) {
	
}
@media print,screen and (min-width:1401px) {
	main{ margin-top:800px; }
}
/* -------------------------- */
/*  section event info block  */
/* -------------------------- */
.sec_event_info {
	
}

.pickup_list { flex-wrap:wrap; justify-content:flex-start; }
.pickup_list .list_items,
.pickup_list .list_items figure,
.pickup_list .list_items article { position:relative; }
.list_block.pickup_list .list_items:hover { opacity:1; }

.list_block.pickup_list .list_items article h2 {
	color:#fff;
	font-size:1.75rem;
	font-weight:bold;
}
.list_block.pickup_list .list_items article .event_date { /*color:#000;*/ font-weight:bold; }
.list_block.pickup_list .list_items article .date { margin-bottom:1rem; }
.list_block.pickup_list .list_items article .body { /*color:#000;*/ }
.list_block.pickup_list .list_items article dl {
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	margin:0 0 1rem;
	padding:0;
	letter-spacing:-.40em;
}
.list_block.pickup_list .list_items article dl > * {
	margin:0;
	padding:0.5rem 1rem;
	line-height:1;
	letter-spacing:normal;
}
.list_block.pickup_list .list_items article dl dt {
	width:6rem;
	text-align:center;
	font-weight:700;
	border-bottom:#fff 1px solid;
}
.list_block.pickup_list .list_items article dl dt:first-child { border-top:#fff 1px solid; }
.list_block.pickup_list .list_items article dl dd { width:calc(100% - 7rem); }
.list_block.pickup_list .list_items article .btn_area { margin-top:1rem; }


@media print,screen and (max-width:767px) {
	.pickup_list { margin-bottom:3rem; }
	.pickup_list .list_items { width:100%; }
	.list_block.pickup_list .list_items article {
		padding:2rem;
		color:#fff;
		background:#474747;
	}
	.pickup_list .cat_icon_block {
		font-size:1rem;
		top:-0.71rem;
		left:-0.71rem;
	}
}
@media print,screen and (min-width:768px) {
	.pickup_list { margin-bottom:3rem; }
	.pickup_list .list_items { 
		display:flex;
		justify-content:space-between;
		width:100%;
	}
	.pickup_list .list_items figure { 
		width:60%;
		height: auto;
	 }
	.pickup_list .list_items article { width:40%; }
	.list_block.pickup_list .list_items article {
		padding:2rem;
		color:#fff;
		background:#474747;
	}
	
	.pickup_list .cat_icon_block {
		font-size:1rem;
		top:-0.65rem;
		left:-0.65rem;
	}
}
@media print,screen and (min-width:1100px) {
	
}

/* -------------- */
/*  section shop  */
/* -------------- */
.content_block.block_shop {
	background:#f5f1dc;
}
.sec_shop h1 { color:#ff5145; }





@media print,screen and (max-width:767px) {
	
}
@media print,screen and (min-width:768px) {
	
}
@media print,screen and (min-width:1100px) {
	
}

/* ----------------- */
/*  section concept  */
/* ----------------- */
.content_block.block_concept {
	background:#474747;
	color:#fff;
}
.sec_concept h1 { margin-bottom:0; }
.sec_concept .drawing {
	margin:0;
	padding:0;
	text-align:center;
}
.sec_concept .concept_img {
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin:4rem 0;
	padding:0;
	letter-spacing:-.40em;
	list-style:none;
}
.sec_concept .concept_img li {
	position:relative;
	width:30%;
	margin:0;
	padding:0;
	color:#fff;
	letter-spacing:0.2rem;
	text-align:center;
	font-weight:600;
	border-radius:50%;
	overflow:hidden;
}

.sec_concept .concept_img li span {
	display:block;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index:10;
	height:1em;
	margin:auto;
	line-height:1;
}

.sec_concept .concept_img li.event::before,
.sec_concept .concept_img li.marche::before,
.sec_concept .concept_img li.food::before {
	display:block;
	content:"";
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index:5;
	background:rgba(0,0,0,0.25);
}

.sec_concept .concept_img li.plus_icon {
	position:relative;
	width:5%;
	border-radius:0;
	background:url("images/home/concept_img_plus_icon.png") 50% 50% no-repeat;
	background-size:cover;
}
.sec_concept p {
	line-height:1.95em;
	letter-spacing:0.1em;
	font-size:1.35rem;
}

@media print,screen and (max-width:767px) {
	.sec_concept h2 { text-align:left; }
	.sec_concept .concept_img li { font-size:1.15rem; }
	.sec_concept .concept_img li { width:calc((100vw * 0.95) * 0.28); height:calc((100vw * 0.95) * 0.28); }
	.sec_concept .concept_img li.plus_icon { width:calc((100vw * 0.95) * 0.03); height:calc((100vw * 0.95) * 0.03); }
	.sec_concept p { font-size:1.15rem; }
}
@media print,screen and (min-width:768px) {
 	.sec_concept .concept_img li { font-size:2rem; }
	.sec_concept .concept_img li { width:calc((100vw * 0.9) * 0.28); height:calc((100vw * 0.9) * 0.28); }
	.sec_concept .concept_img li.plus_icon { width:calc((100vw * 0.9) * 0.03); height:calc((100vw * 0.9) * 0.03); }
	.sec_concept p { font-size:1.35rem; }
}
@media print,screen and (min-width:1100px) {
	.sec_concept .concept_img li { width:calc(1100px * 0.28); height:calc(1100px * 0.28); }
	.sec_concept .concept_img li.plus_icon { width:calc(1100px * 0.03); height:calc(1100px * 0.03); }
}

/* ---------------- */
/*  section access  */
/* ---------------- */

.content_block.block_access {
	background:#cda052;
	color:#000;
}

.sec_access {
	
}

.sec_access  h1 {
	color:#fff;
}

.sec_access p { 
	/*
	line-height:1.95em;
	letter-spacing:0.1em;
	font-size:1.35rem;
	*/
	letter-spacing:normal;
}
.sec_access .access_body,
.sec_access .access_body .info_block dl {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	margin:50px auto 0;
	letter-spacing:-.40em;
}


.sec_access .access_body .info_block dl {
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	letter-spacing:-.40em;
}
.sec_access .access_body .info_block dl > * {
	margin:0 0 0.5rem;
	padding:0;
	letter-spacing:normal;
}
.sec_access .access_body .info_block dl dt { width:30%; }
.sec_access .access_body .info_block dl dd { width:70%; }

#map_canvas {
	width:100%;
	height:25rem;
}

.map_frame {
	width:100%;
	height:25rem;
}
@media print,screen and (max-width:767px) {
/*	.sec_access .access_body .info_block,
	.sec_access .access_body .parking_block { width:100%; }*/
	.sec_access .access_body .info_block { width:100%; }
	.sec_access .access_body .info_block { margin-bottom:2rem; }
/*
	.sec_access .access_body .parking_block h2,
	.sec_access .access_body .parking_block p { display:none; }
*/
}
@media print,screen and (min-width:768px) {
	.sec_access .access_body .info_block {
		width:100%;
		text-align: center;
	}
	.sec_access .access_body .info_block dl {
		width: 70%;
		text-align: left;
	}

	.sec_access .access_body .info_block dl dt { width:20%; }

/*
 	.sec_access .access_body .parking_block { width:70%; }
	.sec_access .access_body .parking_block figure { margin-bottom:1rem; }
*/
}
@media print,screen and (min-width:1100px) {
	.sec_access .access_body .info_block dl {
		width: 50%;
	}
	
}

/* ------------------- */
/*  section instagram  */
/* ------------------- */

.instagram__group {
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	margin:1rem auto;
	padding:0;
}
.instagram__list { overflow:hidden; }
.btn--andmore { cursor:pointer; }
@media print,screen and (max-width:767px) {
	.instagram__group li {
		width:46%;
		margin:0 2% 2rem;
	}
}
@media print,screen and (min-width:768px) {
	.instagram__group li {
		width:22.5%;
		margin:0 1.25% 2rem;
	}
}
@media print,screen and (min-width:768px) and (max-width:1099px) {
	
}
@media print,screen and (min-width:1100px) {
	
}



/* ------------------- */
/*  2308 リニューアルページ */
/* ------------------- */

.bnnr_home{
	width: 1000px;
	/* margin: -200px auto 0; */
	margin: 0px auto 0;
	padding: 60px 0 0;
	position: relative;
	z-index: 5;
}
@media print,screen and (max-width:1099px) {
	.bnnr_home{
		width: 95%;
		/* margin: -200px auto 0; */
		margin: 0px auto 0;
		padding: 30px 0 0;
		position: relative;
		z-index: 5;
	}
	.bnnr_home img{
		max-width: 100%;
		height: auto;
	}
}
@media print,screen and (min-width:768px) and (max-width:1099px) {
	.bnnr_home{
		width: 90%;
		/* margin: -200px auto 0; */
		margin: 0px auto 0;
		padding: 30px 0 0;
		position: relative;
		z-index: 5;
	}
	.bnnr_home img{
		max-width: 100%;
		height: auto;
	}
}
.bnnr_home:hover{
	opacity: 0.8;
}
/* 202507野口　３つバナー */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.banner-container {
  display: flex;
  width: 100%;
  height: auto; /* 高さ固定 */
}

.banner {
  flex: 1; /* 均等に幅を割り当てる */
  height: 100%; /* 親の200pxを100%使う */
  background-color: #fff;
  text-align: center;
  font-size: 20px;
  /* line-height: 200px; テキスト中央揃え */
  border-right: 1px solid #fff;
}

.banner:last-child {
  border-right: none;
}
/* スマホ画面では縦並びにする */
@media (max-width: 768px) {
  .banner-container {
    flex-direction: column;
    height: auto; /* 高さを自動に */
  }

  .banner {
    height: auto; /* 各バナーの高さはそのまま維持 */
  }
}
/* 20250729 野口　ナビゲーションバー - 既存の#global_navi_blockと競合しないよう独自の名前 */
        .ebri-10th-navbar {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            background-color: #474747; /* 既存サイトのフッター色に合わせる */
            z-index: 1001; /* 既存の要素より高く設定 */
            box-shadow: 0 2px 5px rgba(0,0,0,0.2);
            font-family: 'Montserrat',"游ゴシック体", "Yu Gothic", YuGothic,"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", sans-serif;
        }

        .ebri-10th-nav-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            height: 70px;
        }

        /* ロゴエリア */
        .ebri-10th-logo {
            color: #cda052; /* 既存サイトのアクセント色 */
            font-size: 24px;
            font-weight: bold;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .ebri-10th-logo:hover {
            color: #fff;
        }

        /* デスクトップメニュー */
        .ebri-10th-nav-menu {
            display: flex;
            list-style: none;
            gap: 20px;
            margin: 0;
            padding: 0;
        }

        .ebri-10th-nav-item {
            position: relative;
        }

        .ebri-10th-nav-link {
            color: #fff;
            text-decoration: none;
            padding: 15px 12px;
            border-radius: 5px;
            transition: all 0.3s ease;
            display: block;
            font-size: 13px;
            font-weight: 500;
            text-align: center;
            line-height: 1.2;
        }

        .ebri-10th-nav-link small {
            display: block;
            font-size: 10px;
            color: #bdb2ac;
            margin-top: 2px;
            letter-spacing: 0.5px;
        }

        .ebri-10th-nav-link:hover {
            background-color: #666;
            color: #cda052;
            transform: translateY(-2px);
        }

        .ebri-10th-nav-link:hover small {
            color: #cda052;
        }

        /* 現在のページスタイル */
        .ebri-10th-nav-link.active {
            background-color: #cda052;
            color: #fff;
        }

        .ebri-10th-nav-link.active small {
            color: #fff;
        }

        .ebri-10th-nav-link.active:hover {
            background-color: #b28247;
        }

        /* ハンバーガーメニューボタン */
        .ebri-10th-hamburger {
            display: none;
            flex-direction: column;
            cursor: pointer;
            padding: 5px;
        }

        .ebri-10th-hamburger span {
            width: 25px;
            height: 3px;
            background-color: #fff;
            margin: 3px 0;
            transition: 0.3s;
            border-radius: 2px;
        }

        /* ハンバーガーメニューのアニメーション */
        .ebri-10th-hamburger.active span:nth-child(1) {
            transform: rotate(-45deg) translate(-5px, 6px);
        }

        .ebri-10th-hamburger.active span:nth-child(2) {
            opacity: 0;
        }

        .ebri-10th-hamburger.active span:nth-child(3) {
            transform: rotate(45deg) translate(-5px, -6px);
        }

        /* 既存サイトのbodyにpadding-topを追加するためのスタイル */
        .ebri-10th-body-padding {
            padding-top: 70px !important;
        }

        /* モバイル表示 */
        @media screen and (max-width: 768px) {
            .ebri-10th-nav-menu {
                position: fixed;
                left: -100%;
                top: 70px;
                flex-direction: column;
                background-color: #474747;
                width: 100%;
                text-align: center;
                transition: 0.3s;
                box-shadow: 0 10px 27px rgba(0,0,0,0.2);
                padding: 20px 0;
                gap: 0;
                max-height: calc(100vh - 70px);
                overflow-y: auto;
            }

            .ebri-10th-nav-menu.active {
                left: 0;
            }

            .ebri-10th-nav-item {
                margin: 0;
                border-bottom: 1px solid #666;
            }

            .ebri-10th-nav-item:last-child {
                border-bottom: none;
            }

            .ebri-10th-nav-link {
                padding: 20px 20px;
                font-size: 16px;
                border-radius: 0;
            }

            .ebri-10th-nav-link small {
                font-size: 12px;
            }
			.ebri-10th-nav-item.tight { margin: 0 !important; padding: 0 !important; }

            .ebri-10th-hamburger {
                display: flex;
            }

            /* モバイルでは既存の#global_navi_blockを隠す */
            #global_navi_block {
                display: none !important;
            }
        }

        /* タブレット表示での調整 */
        @media screen and (min-width: 769px) and (max-width: 1023px) {
            .ebri-10th-nav-menu {
                gap: 15px;
            }
            
            .ebri-10th-nav-link {
                font-size: 12px;
                padding: 12px 8px;
            }
			.ebri-10th-nav-item.tight { margin: 0 !important; padding: 0 !important; }
        }

        /* デスクトップでは既存の右側ナビゲーションと共存 */
        @media screen and (min-width: 769px) {
            /* 既存の右側ナビゲーションの位置を調整 */
            #global_navi_block {
                top: 70px !important;
            }
            
            .side_btn {
                bottom: 0 !important;
            }
        }

        /* 10周年ページ専用のスタイル調整 */
        main.anniversary {
            margin-top: 70px !important;
        }
		main.anniversary img{
			margin-bottom: 0px !important;
		}

        /* 既存のローディング画面との重複を避ける */
        .ebri-10th-navbar {
            z-index: 1001;
        }

        aside.loading_block {
            z-index: 1002 !important;
        }