@charset "UTF-8";

/*------------ mv ------------*/
.mv {
	align-items: center;
	display: flex;
	height: 100vh;
	justify-content: center;
	opacity: 0;
    position: relative;
	transition: opacity 1s ease-in;
	/* transition-delay: 0.5s; */
	width:100%;
}
.mv.active {
	opacity: 1;
}
.mv_image {
    height: 100vh;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.mv_image img {
	align-self: center;  
    display:block;
	height: 100%;
    left: 0;
	object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}
@keyframes zoomUp {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.15);
    }
}
.swiper-slide-active.swiper-slide img,
.swiper-slide-duplicate-active.swiper-slide img ,
.swiper-slide-prev.swiper-slide img {
    animation: zoomUp 10s linear 0s 1 normal both;  
}

.mv_title {
    bottom: 0;
    color: #ffffff;
    font-size: 45px;
    font-weight: normal;
    height: fit-content;
    left: 0;
    line-height: 1.1;
    margin: auto;
    padding-bottom: 25px;
    position: absolute;
    right: 0;
    top: 0;
    text-align: center;
    width: fit-content;
}
.mv_title:after {
    background: #FFF;
    bottom: 0;
    content: "";
    height: 2px;
    left: 0;
    margin: auto;
    max-width: 60px;
    position: absolute;
    right: 0;
    width: 80%;
}
.mv_title-en {
    display: block;
}
.mv_title-jp {
display: block;
font-size: 15px;
margin-top: 10px;
position: relative;
}

/*------------ main ------------*/
.main_image {
	display: flex;
	overflow: hidden;
	height: 44.58vw;
    align-items: center;
    opacity: 0;
    transition: 2s ease-in-out;
}
.main_image.active {
    opacity: 1;
}
.main_text {
	padding: 7.639vw 0;
}
.note {
    font-size: 76%;
	line-height: 1.5;
}
.notice{
    display: inline-block;
    margin: 10px 0 ;
}
.notice p{
    font-size: 76%;
    line-height: 22px;
}
.notice h4{
    font-size: 14px;
    font-weight: bold;
}
.notice-txt{
    padding: 20px;
    margin: 0;
    font-size: 76%;
    line-height: 1.5;
}

.notice-txt a{
    color: #FFF;
    text-decoration: underline;
    position: relative;
    top: 0;
    margin: 15px 0;
}
.notice-txt h5{
    font-size: 14px;
    font-weight: bold;
}
.notice-txt p{
    margin-bottom: 0;
    margin-top: -14px;
}
.notice_en{
    display: inline-block;
    margin: 10px 0 ;
}
.notice_en h4{
    font-size: 14px;
    font-weight: bold;
}
.notice_en p{
    font-size: 76%;
    line-height: 22px;
}
.notice-txt_en{
    padding: 20px;
    margin: 0;
    font-size: 76%;
    line-height: 1.5;
}
.notice-txt_en a{
    color: #FFF;
    text-decoration: underline;
    position: relative;
    margin: 15px 0;
}
.notice-txt_en h4{
    font-size: 14px;
    font-weight: bold;
}
.notice-txt_en h5{
    font-size: 14px;
    font-weight: bold;
}
.notice-txt_en p{
    margin-bottom: 0;
    margin-top: -14px;
}
.notice-txt_en b{
    font-size: large;
}
.fade_text {
	filter: blur(40px);
    transition: 0.8s ease-out;
}
.fade_text.active {
	filter: blur(0px);
}
/*------------ home ------------*/
.home #header {
    height: 100%;
    position: fixed;
}
.home .second {
    display: none;
}
.home .header_nav {
    bottom: 4%;
    display: block;
    left: 5%;
    text-align: left;
    top: auto;
    width: auto;
}
.home .header_nav li {
    display: block;
    padding-bottom: 0;
}
.home .header_nav li a:after {
    transform-origin: left center;
}
.home .header_text {
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: fit-content;
    text-align: center;
    top: 40%;
}
.home .header_reserve_btn {
    left: auto;
    margin: 0;
    position: fixed;
    right: 5px;
    top: 0;
}
.home .language {
    bottom: 4%;
    top: auto;
}
/*------------ concept ------------*/
.concept_section {
    border: 1px solid #fff;
    margin: 9vw auto 0;
    max-width: 1150px;
    padding: 30px;
    text-align: left;
    width: 90%;
}
.concept_section_inner {
    align-items: center;
    display: flex;
    justify-content: center;
}
.concept_section_content {
    font-size: 14px;
    padding: 0 3em 0 0;
    margin: 0;
    max-width: 550px;
    width: 60%;
}
.concept_section_content p {
    margin-bottom: 0;
}
.concept_section_content-title {
    background-color: #000;
    font-size: 32px;
    margin-bottom: 0.5em;
    margin-top: -2em;
    padding: 0 1em;
    position: relative;
    text-align: center;
    width: fit-content;
}
/* .concept_section_content-title:after {
    background: #FFF;
    bottom: 0;
    content: "";
    height: 2px;
    left: 0;
    margin: auto;
    max-width: 50px;
    position: absolute;
    right: 0;
    width: 80%;
} */
.concept_section_content .concept_section_content-name {
    font-size: 20px;
    margin-bottom: 0.5em;
}
.concept_section_content .concept_section_content-subtitle {
    font-size: 16px;
}
.concept_section_pix {
    max-width: 475px;
    width: 40%;
}
.concept_section_pix img {
    height: auto;
    width: 100%;
}

/*------------ menu ------------*/
.period_txt {
    font-size: 14px;
    text-align: center;
    margin-bottom: 2em;
}
.period_txt:after {
    content: " ";
    display: block;
    width: 12em;
    height: 1px;
    background: #fff;
    margin: 5px auto 10px;
}
.menu_image_list {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 10vw;
    width: 74.306vw;
}
.menu_image_item {
    aspect-ratio: 1 / 0.65;
    position: relative;
    width: calc(33% - 10px);
}
.menu_image_item img {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}
.menu_title {
    font-size: 26px;
    line-height: 1.1;
    margin-bottom: 1.5em;
    text-align: center;
}
.menu_title span {
    font-size: 22px;
}
.menu_title.-sub span {
    font-size: 18px;
}
.menu_btn_list {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    max-width: 650px;
    width: 80%;
}
.menu_btn_list li {
    min-width: 160px;
    margin: 0 auto;
    max-width: 300px;
    position: relative;
    width: calc(50% - 15px);
}
.menu_btn_list li a {
    align-items: center;
    background: #333;
    color: white;
    display: flex;
    flex-wrap: wrap;
    height: 60px;
    justify-content: center;
    transition: 0.2s;
}
.menu-price {
    margin-top: 3em;
}
.menu-price_subtitle {
    font-size: 25px;
    letter-spacing: 1em;
    margin-bottom: 1em;
    margin-left: 0.5em;
    text-align: center;
}
.menu-price_list {
    font-size: 14px;
}
.menu-price_list-date {
    color: #f3e470;
    display: block;
    font-size: 0.85em;
    margin-top: 1em;
}
@keyframes slideAnime{
  0% {
	  opacity: 0;
  }
  16.6% {
	  opacity: 1;
  }
  50% {
	  opacity: 1;
  }
  66.6% {
	  opacity: 0;
  }
  100% {
	  opacity: 0;
  }
}
.menu_link {
	padding-top: 6.25vw;
	padding-bottom: 9.028vw;
}
.menu_link.pd-t0 {
    padding-top: 0;
}
.menu_link.ig_more {
	padding-top: 0;
	padding-bottom: 0;
}
.menu_link.ig_more a {
    padding: 0 2em;	
}
.menu_link a {
    line-height: 1.8;
    border-bottom: 1px solid #333;
    padding: 0 0.2em;	
    transition: 0.35s;
	position: relative;
}
.menu_link a:after {
    content: " ";
    display: block;
    position: absolute;
    right: -0.5em;
	top: 0.7em;
    width: 0.7em;
    height: 0.7em;
    background: url("../images/arrow.png") no-repeat;
    background-size: contain;
    transition: 0.35s;
	opacity: 0;
}

.menu_link span {
    font-size: 70%;
    margin-left: 0.5em;
    vertical-align: text-bottom;
}
/*------------ information ------------*/
.information_title {
	font-size: max(2.222vw, 32px);	/*32px/1440px*/
	letter-spacing: 0.08em;
    margin-bottom: 2.777vw;	/*40px/1440px*/
}
.information_time {
    margin-bottom: 2.222vw;	/*32px/1440px*/
}
.information_price {
margin-bottom: 5.833vw;	/*84px/1440px*/
margin-left: auto;
margin-right: auto;
}
.information_price dt {
font-size: 87.5%;
}
.information_price dd {
line-height: 1.6;
margin: 0 auto 0.5em;
width: fit-content;
}
.information_price .note {
font-size: 80%;
}
.information_address {
    margin-bottom: 3.958vw;	/*57px/1440px*/
    line-height: 2.2;
}
.information_tel {
	margin-bottom: 3.194vw;	/*46px/1440px*/
}
.information_tel a {
    color: white;
	transition: 0.2s;
}

.information_payment {
	margin-bottom: 5.833vw;	/*84px/1440px*/
	width: 80vw;
	max-width: 380px;
	margin-left: auto;
	margin-right: auto;
}
.information_payment dt {
font-size: 87.5%;
}
.information_payment dd {
	line-height: 1.4;
}
.information_payment dd.card {
	margin-top: 0.7em;
	border: 1px solid #fff;
	padding: 0.6em 0.8em;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 75%;
}

@keyframes mapsAnime{
  0% {
    padding-right: 1em;
    margin-left: 1em;
  }
  100% {
    padding-right: 1.6em;
    margin-left: 1.6em;
  }
}

@media (hover: hover) {
    .menu_btn_list li:hover a {
        background: rgba(255,255,255,0.8);
        color: #000;
    }
    .menu_link a:hover {
        margin-right: 1em;
    }	
    .menu_link a:hover:after {
        opacity: 1;
        right: -1.3em;
    }
    .information_tel a:hover {
        opacity: 0.7;
    }
}

@media screen and (max-width: 767px) {
    /*------------ SP mv ------------*/
    .mv_title {
        font-size: 38px;
    }
    .mv_title-jp {
        font-size: 12px;
    }
    /*------------ SP main ------------*/
    .main_image {
        height: 66.667vw;		
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
    }
    .main_image img {
        /*height: 100%;
        object-fit: cover;*/
		display: none;
    }
    .main_image.main01 {
		background-image: url("../images/main01_sp.jpg");
	}
    .main_image.main02 {
		background-image: url("../images/top01_sp_r3.jpg");
	}
    .main_image.main03 {
		background-image: url("../images/main_inside_sp.jpg");
	}
    .main_image.main04 ul,
	.main_image.main04 li {
		width: 100%;
		height: 100%;
	}
    .main_image.main04 li.slide01 {
		background-image: url("../images/main04_01_sp_r3.jpg");		
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
    .main_image.main04 li.slide02 {
		background-image: url("../images/main04_02_sp_r3.jpg");		
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
    .main_text {
        padding: 16vw 20px; /*60px/375px*/   
    }
    .en .main_text {
        padding: 16vw 10px; /*60px/375px*/         
        font-size: min(3.733vw, 16px); /*14px/375px*/ 
    }
    /*------------ SP index ------------*/
    .home .header_nav {
        background: transparent;
        height: auto;
        opacity: 1;
        visibility: visible;
    }
    .home .header_nav ul {
        width: fit-content;
    }
    .home .header_text {
        max-width: 210px;
        height: auto;
        width: 84%;
        top: 30%;
    }
    .home .header_reserve_btn a {
        background-color: #000;
        color: white;
    }
    /*------------ SP concept ------------*/
    .concept_section {
        margin: 20vw auto 0;
        padding: 30px 25px;
        width: 100%;
    }
    .concept_section_inner {
        flex-direction: column-reverse;
    }
    .concept_section_content-title {
        /* font-size: 22px;
        margin-top: -2.3em; */
        padding: 0 0.5em;
    }
    .concept_section_pix {
        width: 100%;
    }
    .concept_section_pix img {
        height: auto;
        width: 100%;
    }
    .concept_section_content {
        padding: 0;
        margin: 7vw auto 0;
        width: 100%;
    }
    .concept_section_content .concept_section_content-name {
        font-size: 18px;
        margin-bottom: 0.5em;
    }
    .concept_section_content .concept_section_content-subtitle {
        font-size: 16px;
    }

    /*------------ SP menu ------------*/
    .menu_image_list {
        width: 89.333vw;
    }
    .menu_title {
        align-items: center;
        display: flex;
        font-size: 22px;
        justify-content: center;
    }
    .menu_title span {
        font-size: 18px;
    }
    .menu-price_subtitle {
        font-size: 20px;
    }
    .menu_btn_list {
        display: block;
        margin-bottom: 16vw;	/*60px/375px*/
    }
    .menu_btn_list li {
        width: 100%;/*206px/375px*/
        margin: 0 auto 5.333vw;	/*20px/375px*/
    }
    .menu_btn_list li a {
        font-size: 14px;
        height: 56px;
    }
    .menu_link {
        padding-top: 16vw;
        padding-bottom: 20vw;
    }
    .menu_link a {
        padding: 0 0.4em;
    }
    /*------------ SP information ------------*/
    .information_title {
        font-size: 8vw;	/*30px/375px*/
        margin-bottom: 10.666vw;	/*40px/1440px*/
    }
    .information_time {
        margin-bottom: 1em;	/*60px/375px*/
    }
    .information_address {
        margin-bottom: 1.5em;	/*46px/375px*/
        line-height: 1.9;
    }
    .en .information_address p {
        line-height: 1.4;
        margin-bottom: 0.65em;
    }
    .information_tel {
        margin-bottom: 1.5em;	/*53px/375px*/    
    }
    .information_payment {
        margin-bottom: 26.666vw;	/*100px/375px*/
        width: 80vw;
        max-width: inherit;
    }
    .notice p{
    font-size: 76%;
    line-height: 22px;
    margin-top: -18px;
    }
    .notice-surround{
    display: inline-block;
    padding: 20px;
    margin: 0;
    font-size: 76%;
    line-height: 1.5;
    border: solid 3px #fff;/*線*/
    }
    .notice-surround a{
    color: #FFF;
    text-decoration: underline;
    position: relative;
    }
    .notice-txt_en h4{
    font-size: 14px;
    font-weight: bold;
}
}


/*------------ en menu ------------*/
.en .menu-price_subtitle {
    letter-spacing: normal;
}

/*------------ lunch ------------*/
.lunch_info {
    align-items: stretch;
    justify-content: start;
    display: flex;
    flex-wrap: wrap;
    margin: 3em auto;
    max-width: 640px;
    text-align: left;
    width: 100%;
}
.lunch_info dt {
    font-weight: bold;
    width: 6em; 
}
.lunch_info dd {
    margin-bottom: 1.5em;
    width: calc(100% - 6em);
}
.lunch_image {
    display: block;
    margin: 0 auto;
    max-width: 640px;
    width: 90%;
}
