@charset "utf-8";

/* Sale-rental */

#contents dt {
	float: left;
}
#contents dd {
	/* margin-left: 100px; */
	text-align: right;
	width: 100%;
	padding-right: 1em;
}
hr.duble {
	margin-top: 20px;
	margin-bottom: 2px;
}

/* メイン項目 */
.item_main {
	padding-top: 69px;
	padding-bottom: 20px;
}
.item_main h4 {
	padding-bottom: 20px;
	margin: 0 0 28px;
	text-align: center;
	border-bottom: 1px solid #C1C1C1;
}
.item_main p {
	text-align: center;
}

/* メイン項目（上下ライン） */
.item_main2 {
	padding-top: 69px;
	padding-bottom: 20px;
}
.item_main2 h4 {
	padding-top: 40px;
	padding-bottom: 40px;
	margin: 0 0 28px;
	text-align: center;
	border-top: 1px solid #C1C1C1;
	border-bottom: 1px solid #C1C1C1;
}
.item_main2 p {
	text-align: center;
}

/* サブ項目 */
.item_sub {
	/* padding: 20px 10px 38px; */
	padding: 40px 10px 40px;
	/* background-color: aqua; */
	text-align: left;
	position: relative;
}
.item_sub.right {
	text-align: right;
	padding-bottom: 10px;
}
.item_sub.right .link {
	margin-top: 30px;
	font-size: .8em;
}
.item_sub h5 {
	padding: 0 0 10px;
	margin: 0 0 20px;
	text-align: left;
	border-bottom: 1px solid #C1C1C1;
}
.item_sub h5 span {
	display: block;
}
.item_sub p {
	text-align: justify;
	/* background-color: aqua; */
}
.item_sub p,
.item_sub dl {
	padding: 0 0 0;
	font-size: .9rem;
	line-height: 1.7em;
}
.item_sub p span {
	font-size: 1rem;
	/* font-weight: bold; */
	padding-right: 15px;
}
.item_sub img {
	margin-top: 25px;
	width: 100%;
}
.item_sub img.exception {
	margin-top: 0;
	width: 33px;
	position: absolute;
	display: block;
	top: 30px;
	left: 220px;
}

/* サブ項目 type2 */
.item_sub.type2 {
	padding: 15px 0 25px;
}
.item_sub.type2 p {
	padding: 0;
}

/* サブ項目 type3 */
.item_sub.type3 {
	padding: 50px 10px 5px;
}

/* リンク画像 */
.link_img {
	width: auto !important;
	height: 35px;
}
.link_img_2 {
	width: auto !important;
	height: 21px;
}
.link_img_3 {
	margin-top: 30px;
}
.link_img_3 img {
	width: 100% !important;
	height: 45px;
}

/*--------------------------------------------
 トップ
--------------------------------------------*/

header {
	/* opacity: .5; */
}

#top {
	position: relative;
}
#top .container {
	padding-top: 85px;
	display: flex;
	/* height: 100vh; */
	/* height: calc( var(--vh) * 100 ); */
	width: 100%;
	/* min-height: 1090px; */
}
#top .container > div:first-child {
	width: 50%;
	/* height: 100%; */
	position: relative;
	/* background-color: aquamarine; */
}
#top .container .page {
	position: relative;
}
#top .container .cafelogo {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 100;
	top: 0;
	left: 0;
	object-fit: contain;
	object-position: center;
	font-family: "object-fit: contain;object-position: center;";
	padding: 0 30%;
	pointer-events: none;
	/* min-width: 200px; */
	/* background-color: lawngreen; */
}
#top .container .page > img:last-child {
	/* width: 50%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0; */
}
#top .container > div:last-child {
	width: 100%;
	height: 100%;
	/* 全サブページでCafe&shopの高さを最小サイズとする */
	min-height: 900px; 

	/* padding-top: 40px; */
	/* padding: 40px 0 0 63px; */
	/* background-color: aquamarine; */
}
#top .right {
	width: 100%;
	/* padding: 80px 100px 40px 70px; */
	padding: 80px 100px 0 70px;
	/* background-color: lightblue; */
}
#top .right .title {
	max-width: 420px;
	width: 100%;
	/* display: none; */
}
#top .right h1 {
	margin-bottom: 46px;
}
#top .right > p {
	font-size: 15px;
	line-height: 2.7em;
	margin-bottom: 50px;
}

/*--------------------------------------------
コンテンツ
--------------------------------------------*/

#contents {
	text-align: center;
}
#contents .container > img,
#contents .slideshow_thumb,
#contents .thumbnail {
	display: block;
	width: 100%;
	max-width: 420px;
	margin: 0 auto;
}
#contents .thumbnail {
	margin-bottom: 20px;
}

/*--------------------------------------------
フッター
--------------------------------------------*/

/* #info .container {
	padding: 56px 84px 0;
	border-top: 1px solid #C1C1C1;
}
#info .item:not(:last-child) {
	padding: 0 0 61px 0;
}
#info .item .link-box {
	margin-top: 30px;
}
#info .item.tel {
	margin: 20px auto 0;
	text-align: center;
}
#info .item.address p {
	display: inline-block;
	text-align: left;
} */

/*--------------------------------------------
mobile
--------------------------------------------*/

/* 1101以上 */
@media (min-width: 801px) {
	#top .base.w380 {
		max-width: none;
	}
	#top .folding .close {
		max-height: none;
		opacity: 1;
		margin-top: 2em;
	}
	#top .folding .link {
		/* opacity: 0; */
		display: none;
	}
	#contents .container {
		padding-top: 25px;
	}
}


/* 1100以下 */
@media (max-width: 1100px) {
	#top .right {
		padding: 80px 50px 40px 40px;
	}
}

@media (max-width: 800px) {

	#top .container {
		display: block;
		position: relative;
		min-height: initial;
		/* background-color: lawngreen; */
		height: auto;
	}
	#top .container > div:first-child {
		/* position: absolute; */
		width: 100%;
		/* height: 350px; */
		aspect-ratio: 1 / 1;
		height: auto;
		
		/* height: 100vh; */
		/* height: calc( var(--vh) * 100 ); */

		/* top: 0;
		bottom: 0;
		left: 0;
		right: 0; */
	}
	#top .container .cafelogo {
		padding: 0 25%;
	}
	#top .container > div:last-child {
		width: 100%;
		height: auto;
		min-height: auto;
		padding-top: 40px;
		/* background-color: aquamarine; */
		/* padding-top: 100vh; */
		/* padding-top: calc( var(--vh) * 100 ); */
	}
	#top .right {
		padding: 0;
	}
	#top .right h1 {
		margin-bottom: 46px;
	}
	#top .right > p {
		font-size: 15px;
		line-height: 2.7em;
		margin-bottom: 50px;
	}
}

@media (max-width: 800px) {

	#top .container {
		padding-top: 56px;
	}
	#top .container > div:last-child {
		/* padding-left: 0; */
		/* padding-right: 0; */
		padding-bottom: 0;
	}

	/* メニュー */

	#contents .container {
		/* padding-bottom: 70px; */
	}

	/* 店舗情報 */
	
	#info .container {
		/* padding: 56px 20px 0; */
	}
	#info .item.address {
		/* text-align: center; */
	}
}

/*--------------------------------------------
top スライドショー
--------------------------------------------*/

.slideshow_cafe {
	width: 100%;
	height: 100%;
	overflow: hidden;
	/* height: 100vh; */
	/* max-height: 90vh;
	max-height: calc( var(--vh) * 90 ); */
	/* background-color: lawngreen; */
	position: relative;
}
.slideshow_cafe *:focus {
	outline: none;
}
.slideshow_cafe .page {
	width: 100%;
	/* height: 100%; */
	/* display: block; */
	/* height: 50vw; */
	/* height: 100vh; */
	/* background-color: lightcoral; */
}
.slideshow_cafe .page img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	font-family: "object-fit: cover; object-position: center;";
}

/* ドット */
.slick-dots2 {
	position: absolute;
	bottom: 12px;
	list-style: none;
	display: block;
	text-align: center;
	padding: 0;
	margin: 0;
	width: 100%;
	/* background-color: #3A7FCB; */
	/* height: 15px; */
	height: 8px;
	/* overflow: hidden; */
}
.slick-dots2 li {
	position: relative;
	display: inline-block;
	/* height: 15px !important;
	width: 15px !important; */
	height: 8px !important;
	width: 8px !important;
	/* margin: 0 10px; */
	margin: 0 6px;
	padding: 0;
}
.slick-dots2 > li:first-child:last-child {
    display: none;
}
.slick-dots2 li.slick-active button::before {
	content: "●";
}
.slick-dots2 li button {
	/* background-color: aqua; */
	background: transparent;
	border:0;
	font-size: 0pt;
}
.slick-dots2 li button::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "○";
	/* width: 15px !important;
	height: 15px !important; */
	width: 8px !important;
	height: 8px !important;
	font-family: "slick";
	/* font-size: 12px !important;
	line-height: 15px !important; */
	font-size: 8px !important;
	line-height: 8px !important;
	text-align: center;
	color: #fff;
	cursor: pointer;
}

/* 矢印 */
.arrow {
	filter: drop-shadow(0px 0px 6px rgba(0,0,0,.16));
	width: 16px;
	/* height: 16px; */
	position: absolute;
	z-index: 100;
	cursor: pointer;
	top: 50%;
	transform: translateY(-50%);
	/* display:none; */
	/* visibility: hidden; */
}
.arrow.prev {
	left: 3%;
}
.arrow.prev.slick-disabled {
	visibility: hidden;
}
.arrow.next {
	right: 3%;
}
.arrow.next.slick-disabled {
	visibility: hidden;
}

/* ハートマーク */
.hart::after {
	content: "";
	background-image: url("../img/olive-cultivation/hart.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom;
	display: inline-block;
	width: .865em;
	height: .865em;
	/* background-color: aqua; */
	line-height: 1em;
}

@media (max-width: 450px) {

	#home #top {
		width: 100%;
  		aspect-ratio: 1 / 1;
		height: auto;
	}

}
