@charset "UTF-8";
:root{
	--body : #000;
	--link : #000;
}

/*--------------------------------------------
MAIN VISUAL
---------------------------------------------*/
@media screen and (max-width: 750px){
	#mv .kv {
		height: calc( ( 1000 + 40 ) * 100vw / 750 );
		position: relative;
	}
	#mv #mv-slider {
		height: calc( 1000 * 100vw / 750 );
		position: relative;
		width: 100%;
	}
	#mv-slider .slick-slide li {
		background-repeat: no-repeat;
		background-position: center top;
		background-size: cover;
		height: calc( 1000 * 100vw / 750 );
	}
	#mv-slider .slick-slide .bg01 {
		background-image: url(/assets/images/home/mv-01_sp.png);
	}
	#mv-slider .slick-slide .bg02 {
		background-image: url(/assets/images/home/mv-02_sp.png);
	}
	#mv-slider .slick-slide .bg03 {
		background-image: url(/assets/images/home/mv-03_sp.png);
	}
	.slide-animation {
		animation: fadezoom 8s 0s forwards;
	}
	@keyframes fadezoom {
		0% {
			transform: scale(1);
		}
		100% {
			transform: scale(1.2);
		}
	}
	#mv h1 {
		left: 50%;
		position: absolute;
		top: 50%;
		-webkit-transform: translate( -50%, -51% );
		transform: translate( -50%, -51% );
		z-index: 3;
	}
	#mv h1 img {
		height : calc( 404 * 100vw / 750 );
	}
	#mv .message {
		padding-top: calc( ( 70 - 13 ) * 100vw / 750 );
		padding-bottom: calc( ( 143 - 120 ) * 100vw / 750 );
	}
	#mv .message :where( h2 , p ){
		line-height: calc( 52 / 26 );
		font-size: 2.6rem;
		padding-inline: calc( 18 * 100% / 702 );
	}
	#mv .message picture{
		width: calc( 708 * 100% / 702 );
		margin-left:calc( -3 * 100% / 702 );
		margin-top: calc( ( 41 - 13 ) * 100vw / 750 );
	}
	#mv .message picture img{
		width: 100%;
		height: auto;
	}
}
@media print,screen and (min-width: 751px){
	#mv h1 {
		align-items: center;
		background-image: url("/assets/images/home/mv_pc.webp");
		background-size: cover;
		background-position: center;
		display: flex;
		height: 600px;
		justify-content: center;
		overflow: hidden;
	}
	#mv h1 img {
		height: 181px;
	}
	#mv .message{
		display: grid;
		grid-template-columns: 594px 426px;
		column-gap: 37px;
		grid-template-rows: 1fr auto auto 1fr;
		align-content: center;
		justify-content: start;
		padding-top: 31px;
	}
	#mv .message h2{
		grid-column: 1;
		grid-row: 2;
		line-height: calc( 36 / 18 );
		font-size: 18px;
	}
	#mv .message p{
		grid-column: 1;
		grid-row: 3;
		line-height: calc( 36 / 18 );
		font-size: 18px;
	}
	#mv .message picture{
		grid-column: 2;
		grid-row: 1/5;
	}
	#mv .message picture img{
		width: 100%;
		height: auto;
	}
}

/*--------------------------------------------
NEWS
---------------------------------------------*/
#news h3 {
	font-weight: 700;
	letter-spacing: .1em;
}
#news li p {
	letter-spacing: .1em;
	line-height: 2;
}
@media screen and (max-width: 750px){
	#news .title01 img {
		height: calc( 46 * 100vw / 750 );
	}
	#news ul {
		padding: 0 calc( 20 * 100vw / 750 );
	}
	#news li {
		margin-bottom: calc( 50 * 100vw / 750 );
	}
	#news li h3 {
		font-size: 3.6rem;
		line-height: 1.2;
		margin-bottom: calc( 10 * 100vw / 750 );
	}
}
@media print,screen and (min-width: 751px){
	#news .title01 img {
		height: 37px;
	}
	#news ul {
		margin: 0 auto;
		width: 800px;
	}
	#news li {
		margin-bottom: 50px;
	}
	#news li h3 {
		font-size: 2.2rem;
		line-height: 1.36;
		margin-bottom: 10px;
	}
}

/*--------------------------------------------
MENU
---------------------------------------------*/
#menu .wrap .title02 + p {
	letter-spacing: 0.1em;
	line-height: 1.5;
	text-align: center;
}
@media screen and (max-width: 750px){
	#menu .wrap .title02 + p {
		margin-bottom: calc( 50 * 100vw / 750 );
	}
}
@media print,screen and (min-width: 751px){
	#menu .hero-title {
		background-image: url(/assets/images/home/menu-title-bg_pc.png);
	}
	#menu .wrap .title02 + p {
		font-size: 1.6rem;
		margin-bottom: 40px;
	}
}
/* KUSHI */
#menu .kushi-slider .img-wrap {
	align-items: center;
	background-image: url(/assets/images/home/menu-item01.png);
	background-position: center 0;
	background-repeat: no-repeat;
	display: flex;
	justify-content: center;
	position: relative;
}
#menu .kushi-slider p {
	letter-spacing: .1em;
	position: absolute;
	text-align: center;
}
@media screen and (max-width: 750px){
	#menu .slider-arw-btm-wrap {
		padding-left: calc( 24 * 100vw / 750 );
		padding-right: calc( 24 * 100vw / 750 );
	}
	#menu .kushi-slider {
		display: flex;
		flex-wrap: wrap;
	}
	#menu .kushi-slider li {
		margin-bottom: calc( 24 * 100vw / 750 );
		opacity: 1;
		transition: all 0.4s ease-in;
	}
	#menu .kushi-slider li:nth-child( even ) {
		margin-left: calc( 24 * 100vw / 750 );
	}
	#menu .kushi-slider li.is-hidden {
		height: 0;
		margin: 0;
		opacity: 0;
	}
	#menu .kushi-slider .img-wrap {
		background-size: calc( 339 * 100vw / 750 ) calc( 510 * 100vw / 750 );
		height: calc( 540 * 100vw / 750 );
		padding-bottom: calc( 40 * 100vw / 750 );
		width: calc( 339 * 100vw / 750 );
	}
	#menu .kushi-slider .img-wrap img {
		height: calc( 370 * 100vw / 750 );
	}
	#menu .kushi-slider p {
		bottom: calc( 20 * 100vw / 750 );
		font-size: 3rem;
	}
	#menu .more {
		align-items: center;
		border: calc( 3 * 100vw / 750 ) solid #000;
		display: flex;
		height: calc( 80 * 100vw / 750 );
		justify-content: center;
		margin-top: calc( 40 * 100vw / 750 );
		position: relative;
		width: 100%;
	}
	#menu .more button {
		font-size: 3rem;
		height: 100%;
		letter-spacing: .1em;
		width: 100%;
	}
}
@media print,screen and (min-width: 751px){
	#menu .kushi-slider li {
		margin: 0 10px;
	}
	#menu .kushi-slider .img-wrap {
		background-size: auto;
		height: 330px;
		padding-bottom: 40px;
		width: 200px;
	}
	#menu .kushi-slider p {
		bottom: 25px;
		left: 50%;
		transform: translateX(-50%);
		width: 160px;
	}
}
/* IPPIN */
#menu .ippin-slider .img-wrap {
	overflow: hidden;
	position: relative;
}
#menu .ippin-slider p {
	align-items: center;
	background: rgba(0,0,0,0.5);
	bottom: 0;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-size: 2.6rem;
	justify-content: center;
	left: 0;
	letter-spacing: .1em;
	line-height: 1.5;
	opacity: 0;
	position: absolute;
	right: 0;
	text-align: center;
	top: 0;
	transition: opacity .4s ease-in;
}
#menu .ippin-slider .img-wrap:hover p {
	opacity: 1;
}
@media screen and (max-width: 750px){
	#menu .ippin-slider {
		display: flex;
		flex-wrap: wrap;
	}
	#menu .ippin-slider li {
		margin-bottom: calc( 24 * 100vw / 750 );
	}
	#menu .ippin-slider li:nth-child( even ) {
		margin-left: calc( 24 * 100vw / 750 );
	}
	#menu .ippin-slider .img-wrap {
		height: calc( 339 * 100vw / 750 );
		width: calc( 339 * 100vw / 750 );
	}
	#menu .ippin-slider .img-wrap img {
		height: calc( 339 * 100vw / 750 );
	}
	#menu .ippin-slider p {
		font-weight: 700;
		height: calc( 339 * 100vw / 750 );
		padding: calc( 14 * 100vw / 750 );
		width: calc( 339 * 100vw / 750 );
	}
}
@media print,screen and (min-width: 751px){
	#menu .ippin-slider li {
		margin: 0 4px;
	}
	#menu .ippin-slider .img-wrap {
		height: 300px;
		width: 300px;
	}
	#menu .ippin-slider p {
		height: 300px;
		width: 300px;
		padding: 10px;
	}
}

/*--------------------------------------------
SHOPINFO
---------------------------------------------*/
#shopinfo{
	padding-bottom: 0;
}
@media screen and (max-width: 750px){
	#shopinfo .hero-title {
		margin-bottom: calc( 40 * 100vw / 750 );
	}
}
@media print,screen and (min-width: 751px){
	#shopinfo .bg-wrap {
		background: url(/assets/images/home/shopinfo-bg_pc.png) repeat 0 0;
		height: calc( 100% - 275px );
		position: absolute;
		top: 275px;
		width: 100%;
	}
	#shopinfo .hero-title {
		background-image: url(/assets/images/home/menu-title-bg_pc.png);
		z-index: 1;
		margin-bottom: 75px;
	}
}

#shopinfo .links{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
#shopinfo .links a{
	display: flex;
	align-items: center;
}
#shopinfo .links img{
	width: auto;
}
@media screen and (max-width: 750px){
	#shopinfo .links{
		row-gap: calc( 25 * 100vw / 750 );
	}
	#shopinfo .links li{
		display: flex;
		height: calc( 35 * 100vw / 750 );
	}
	#shopinfo .links li:nth-child(even):before{
		content:"";
		display: block;
		border-left: calc( 4 * 100vw / 750 ) solid #000;
		margin-inline: calc( 26 * 100vw / 750 );
		flex-shrink: 0;
		position: relative;
	}
	#shopinfo .links img{
		height: calc( var(--heightSp) * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	#shopinfo .links li{
		display: flex;
		height: 20px;
	}
	#shopinfo .links li + li:before{
		content:"";
		display: block;
		border-left: 2px solid #000;
		margin-inline: 8px;
		flex-shrink: 0;
		position: relative;
	}

	#shopinfo .links img{
		height: calc( var(--heightPc) * 1px );
	}
}


#shopinfos > li:nth-child(even){
	background-color: #eee;
}
#shopinfos h3{
	text-align: center;
}
#shopinfos h3 img{
	width: auto;
}
#shopinfos h3 span{
	display: block;
	text-align: center;
}
#shopinfos .sns{
	display: flex;
	flex-wrap: wrap;
}

#shopinfos .sns a{
	display: grid;
	place-items: center;
	border-style: solid;
	border-color: #666;
	line-height: 1;
}
#shopinfos iframe{
	width: 100%;
}

#shopinfos .menu h4{
	text-align: center;
	border-bottom-style: solid;
	border-bottom-color: currentColor;
	margin-inline: auto;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
}
@media screen and (max-width: 750px){
	#shopinfos{
		margin-top: calc( 15 * 100vw / 750 );
	}
	#shopinfos > li{
		padding-top: calc( 156 * 100vw / 750 );
		padding-bottom: calc( ( 49 - 2.6 ) * 100vw / 750 );
	}
	#shopinfos .inner{
		padding-inline: calc( 24 * 100% / 750 );
	}
	#shopinfos h3 img{
		height: calc( var(--height) * 100vw / 750 );
	}
	#shopinfos h3 span{
		font-size: 2.6rem;
		line-height: calc( 50 / 26 );
	}
	#shopinfos .sliders{
		margin-top: calc( ( 35 - 13 ) * 100vw / 750 );
	}
	#shopinfos .sliders p{
		line-height: 2;
		font-size: 2.6rem;
		margin-top: calc( ( 65 - 13 ) * 100vw / 750 );
		padding-inline: calc( 13.5 * 100% / 702 );
	}
	#shopinfos .infos{
		margin-top: calc( ( 69 - 13 - 6.5 ) * 100vw / 750 );
	}
	#shopinfos .infos dl{
		padding-inline: calc( 13.5 * 100% / 702 );
		display: grid;
		grid-template-columns: calc( 170 * 100% / 675 ) 1fr;
		row-gap: calc( 20 * 100vw / 750 );
	}
	#shopinfos .infos :where( dt,dd ){
		font-size: 2.6rem;
		line-height: calc( 39 / 26 );
	}
	#shopinfos .infos .sns{
		justify-content: space-between;
		margin-top: calc( ( 42 - 6.5 ) * 100vw / 750 );
		padding-inline: calc( 13.5 * 100% / 702 );
	}
	#shopinfos .infos .sns li{
		width: calc( 327 * 100% / 675 );
	}
	#shopinfos .infos .sns a{
		height: calc( 80 * 100vw / 750 );
		border-width: calc( 3 * 100vw / 750 );
		font-size: 2.8rem;
		width: 100%;
	}
	#shopinfos .infos iframe{
		margin-top: calc( 31 * 100vw / 750 );
		aspect-ratio: 702 / 468;
	}
	#shopinfos .menu{
		margin-top: calc( 86 * 100vw / 750 );
	}
	#shopinfos .menu h4{
		width: calc( 400 * 100% / 702 )
		border-bottom-width: calc( 2 * 100vw / 750 );
		padding-bottom: calc( 27 * 100vw / 750 );
		font-size: 4rem;
	}
	#shopinfos .slider02{
		margin-top: calc( 51 * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	#shopinfos > li{
		padding-top: 84px;
		padding-bottom: calc( 128px - 1.8px );
	}
	#shopinfos .inner{
		padding-inline: calc( ( 100% - 1070px ) / 2 );
	}
	#shopinfos h3 img{
		height: calc( var(--height) * 1px );
	}
	#shopinfos h3 span{
		font-size: 20px;
		line-height: 1.2;
		margin-top: calc( 26px - 1.8px );
	}
	#shopinfos .sliders{
		margin-top: calc( 47px - 1.8px );
		display: grid;
		grid-template-columns: 595px 1fr;
		column-gap: 26px;
	}
	#shopinfos .sliders p{
		line-height: 2;
		font-size: 18px;
		margin-top: -9px;
	}
	#shopinfos .infos{
		margin-top: 43px;
		display: grid;
		grid-template-columns: 1fr 539px;
		column-gap: 26px;
		row-gap: calc( 22px - 4px );
		align-content: start;
	}
	#shopinfos .infos dl{
		grid-column:1;
		grid-row: 1;
		display: grid;
		grid-template-columns: 112px 1fr;
		margin-top: -4px;
		row-gap: 10px;
	}
	#shopinfos .infos :where( dt,dd ){
		font-size: 16px;
		line-height: calc( 24 / 16 );
	}
	#shopinfos .infos .sns{
		column-gap: 13px;
		grid-row: 2;
		grid-column: 1;
	}
	#shopinfos .infos .sns a{
		height: 34px;
		border-width: 1px;
		font-size: 16px;
		padding-inline:18px;
	}
	#shopinfos .infos iframe{
		grid-row: 1/4;
		grid-column: 2;
		aspect-ratio: 539 / 360;
	}
	#shopinfos .menu{
		margin-top: 66px;
	}
	#shopinfos .menu h4{
		width: 400px;
		border-bottom-width: 2px;
		padding-bottom: 27px;
		font-size: 30px;
	}
	#shopinfos .menu > p{
		margin-top: calc( 35px - 4px );
		letter-spacing: 0.01em;
		text-indent: -0.1em;
		font-size: 16px;
		line-height: calc( 24 / 16 );
		text-align: center;
	}
	#shopinfos .slider02{
		margin-top: calc( 42px - 4px );
	}
}

#shopinfos .slider01 picture{
	width: 100%;
}
#shopinfos .slider01 picture img{
	object-fit: contain;
	width: 100%;
	height: 100%;
}
#shopinfos .slider01 :where( .prev-arrow , .next-arrow ){
	position: absolute;
	font-size: 0;
	width: auto;
	z-index: 1;
}

@media screen and (max-width: 750px){
	#shopinfos .slider01 picture{
		height: calc( 485 * 100vw / 750 );
	}
	#shopinfos .slider01 :where( .prev-arrow , .next-arrow ){
		top:calc( 217.5 * 100vw / 750 );
		height: calc( 50 * 100vw / 750 );
	}
	#shopinfos .slider01 .prev-arrow{
		left: calc( -10 * 100% / 702 );
	}
	#shopinfos .slider01 .next-arrow{
		right: calc( -10 * 100% / 702 );
	}
}
@media print,screen and (min-width: 751px){
	#shopinfos .slider01 picture{
		height: 410px;
	}
	#shopinfos .slider01 :where( .prev-arrow , .next-arrow ){
		top:190px;
		height: 30px;
	}
	#shopinfos .slider01 .prev-arrow{
		left: 0;
	}
	#shopinfos .slider01 .next-arrow{
		right: 0;
	}
	#shopinfos .slider01 .slick-dots{
		width: 100%;
		display: grid;
		margin-top: 10px;
		font-size: 0;
		grid-template-columns: repeat(auto-fit, minmax(70px, 70px));
		column-gap: 10px;
	}
	#shopinfos .slider01 .slick-dots li{
		width: 100%;
	}
	#shopinfos .slider01 .slick-dots button{
		font-size: 0;
		height: 2px;
		background-color: #ccc;
		width: 100%;
		position: relative;
	}
	#shopinfos .slider01 .slick-dots button:after{
		content:"";
		font-size: 0;
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		background-color: #999;
		max-width: 0;
		width: 100%;
	}
	#shopinfos .slider01 .slick-dots .slick-active button:after{
		max-width: 100%;
		transition: max-width 3.3s ease;
	}
}

#shopinfos .slider02 picture{
	width: 100%;
}
#shopinfos .slider02 picture img{
	object-fit: contain;
	width: 100%;
	height: 100%;
}
#shopinfos .slider02 p{
	letter-spacing: 0.1em;
	line-height: 1.2;
	margin-inline: auto;
	max-inline-size: max-content;
}
@media screen and (max-width: 750px){
	#shopinfos .slider02{
		padding-inline:calc( 12 * 100% / 750 );
	}
	#shopinfos .slider02 .slick-slide{
		width: calc( 339 * 100vw / 750 );
		margin-inline: calc( 12 * 100vw / 750 );
	}
	#shopinfos .slider02 picture{
		height: calc( 339 * 100vw / 750 );
	}
	#shopinfos .slider02 p{
		font-size: 2.6rem;
		margin-top: calc( ( 12 - 2.6 ) * 100vw / 750 );
	}
	#shopinfos .slider02 :where( .prev-arrow , .next-arrow ){
		position: absolute;
		font-size: 0;
		top:calc( 144.5 * 100vw / 750 );
		height: calc( 50 * 100vw / 750 );
		width: auto;
	}
	#shopinfos .slider02 .prev-arrow{
		left: 0;
	}
	#shopinfos .slider02 .next-arrow{
		right: 0;
	}
}
@media print,screen and (min-width: 751px){
	#shopinfos .slider02 .slick-slide{
		width: 300px;
		margin-inline: 4px;
	}
	#shopinfos .slider02 picture{
		height: 300px;
	}
	#shopinfos .slider02 p{
		font-size: 18px;
		margin-top: calc( 13px - 1.8px );
	}
}