@charset "UTF-8";
/*=======================================================
hero
=======================================================*/
html.js .hero__title {
  visibility: hidden;
}
html.js .hero__title.is-show {
  visibility: visible;
}
.hero {
	position: relative;
}
.hero__title {
	position: absolute;
	top: 38%;
	left: 50%;
	transform: translate(-50%, -45%);
	color: #fff;
	font-size: 32px;
	z-index: 10;
	letter-spacing: 0.235em;
	white-space: nowrap;
}
.hero__title .indent {
	display: inline-block;
	margin-top: 1em;
}
.hero__title span {
	display: inline-block;
	opacity: 0;
	animation: charFadeCalm 1.1s cubic-bezier(.25,.6,.25,1) forwards;
	will-change: transform, opacity;
	animation-play-state: paused;
}
.hero__title.is-show span {
	animation-play-state: running;
}
@keyframes charFadeCalm {
	from {
		opacity: 0;
		transform: translateY(-0.08em);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
/* アニメしたい時だけ付ける */
.hero__title.is-show span {
  opacity: 0;
  animation: charFadeCalm 1.1s cubic-bezier(.25,.6,.25,1) forwards;
}
/* 初期化前：縦並びチラ見え防止（1枚目だけ表示） */
.js-hero-slider:not(.slick-initialized) .hero-slider__item {
  display: none;
}
.js-hero-slider:not(.slick-initialized) .hero-slider__item:first-child {
  display: block;
}
/* 初期化後：通常表示 */
.js-hero-slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media screen and (max-width : 980px) {
	.hero__title {
		font-size: clamp(20px, 2.3vw, 27px);
	}
}
@media screen and (max-width : 767px) {
	.hero {
		margin-bottom: 10px;
	}
	.js-hero-slider .hero-slider__item {
		aspect-ratio: 375 / 245;
	}
	.slick-dotted.js-hero-slider.slick-initialized {
		margin-bottom: 0;
	}
	.hero__title {
		font-size: clamp(17px, calc(17px + 20 * ((100vw - 320px) / 447)), 37px);
		text-shadow: 2px 0px 3px black;
	}
	.js-hero-slider .slick-dots {
    	bottom: -16px;
	}
	.js-hero-slider .slick-dots li {
		width: 10vw;
	}
}
/*=======================================================
イントロ
=======================================================*/
.intro__inner {
	padding-bottom: 82px;
	padding-top: 55px;
}
.intro__item {
	display: flex; 
	align-items: center;
	gap: 70px;
}
.intro__body {	
  flex: 0 0 auto;
}
.intro__title {
	font-size: 26px; 
	font-weight: 500;
	color: var(--color-brand);
	margin-bottom: 15px;
	line-height: 1.615;
}
.intro__text {
	line-height: 2.125;
}
@media screen and (max-width : 1439px) {
	.intro__inner {
		padding-inline: 70px;
	}
}
@media screen and (max-width : 1380px) {
	.intro__inner {
		padding-inline: 20px;
	}	
	.intro__item {		
		gap: 26px;
	}
}
@media screen and (max-width : 1160px) {
	.intro__item {
		flex-direction: column-reverse;
	}
	.intro__title,
	.intro__text {
		text-align: center;
	}
	.intro__media {
		width: 100%;
		text-align: center;
	}
	.intro__media img {
		max-width: 500px;
		width: 100%;
	}
}
@media screen and (max-width : 767px) {
	.intro__inner {
		padding-bottom: 65px;
		padding-top: 47px;
	}
	.intro__title {
		font-size: 21px;
		margin-bottom: 9px;
	}
	.intro__text {
		font-size: 14px;
	}
}
/*=======================================================
各お店
=======================================================*/
.each__inner {
	padding: 84px 0 62px;
}
.each__item {
	display: flex;
	align-items: flex-start;
	gap: 44px;
}
.each__item + .each__item {
	margin-top: 80px;	
}
/*スライダー*/
.each-slider{
	flex: 1;
	min-width: 0;
	max-width: 580px;
}
.js-each-slider img {
	width: 100%;
	height: auto;
	display: block;
}
/*詳細*/
.each__body {
	max-width: 446px;
	width: 100%;
	flex-shrink: 0;
}
.labels {
	margin-block: 23px 13px;
}
.each__hours {
	width: 100%;
	border-top: 1px solid #ccc;
	margin-block: 10px;
}
.each__hours-row {
	display: flex; 
	width: 100%;
	border-bottom: 1px solid #ccc;
	padding-block: 10px;
}
.each__text,
.each__hours,
.each__info {
	font-size: 14px; 
}
.each__hours-head {
	font-weight: 400;
	width: 80px;
}
.each__tel {
	font-size: 22px;
	color: var(--color-brand);
	margin-bottom: 10px;
}
.each__tel a {
	border-bottom: 1px solid currentcolor;
	font-size: 26px;
}
.each__info {
	margin-bottom: 20px;
}
@media screen and (min-width : 1441px) {
	.each__list {
		max-width: 1070px;
		margin: auto;
	}
}
@media (max-width: 1439px) {
	.each__item {
		padding-right: 18px;
	}
	.each__item.reverse {
		padding-left: 18px;
		padding-right: 0;
	}
}
@media screen and (max-width : 1024px) {
	.each__item {
		flex-direction: column;
		padding-inline: 0!important;
	}
	.each-slider {
		max-width: 100%;
	}
	.each__body,
	.each__item.reverse .each__body {
		max-width: 100%;
		padding-inline: 18px;
	}
}
@media (max-width: 767px) {
	.each__item + .each__item {
		margin-top: 54px;
	}
	.each__inner {
		padding-block: 48px 33px;
	}
	.each__item {
		flex-direction: column;
		gap: 20px;
	}
	.each-slider{
		flex-basis: auto;
		width: 100%;
	}
	.labels {
		display: none;
	}
	.each__text {
		margin-top: 18px;
	}
	.each__item.aoba .each__info-item {
		margin-right: -1em;
	}
	.each__hours-head {
		width: 68px;
	}
	.button {
		margin: auto;
	}
}
.hachifuku-banner {
	padding-bottom: 117px;
}
@media screen and (max-width : 867px) {
	.hachifuku-banner {
		padding-bottom: 0;
	}
}
/*=======================================================
周辺地図
=======================================================*/
.map {
	background: var(--color-bg-accent);
}
.map__inner {
	padding: 27px 20px 43px;
	text-align: center;
}
.map__inner img {
	max-width: 668px;
	width: 100%;
}
@media screen and (max-width : 767px) {
	.map__inner {
		padding: 51px 15px 35px;
	}
}