@charset "UTF-8";

:root {
	--keycolor1 : #99ab4e;
	--keycolor2 : #ffdd00;
}
html {
	font-size: 100%;
	font-family: serif;
}
html *{
	box-sizing: border-box;
}
body { 
	background-color: #000;
	color: #fff;
}
h1 { font-size: 2.0rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.4rem; }
p {
	font-size: 1rem;
	line-height: 1.4em;
}
li { list-style-type: none; }
img {
	max-width: 100%;
	vertical-align: bottom;
}
.top_header{
	z-index:2;
}
.hero {
	height: 100vh;
	min-height: 1000px;
	background: url("../img/toppage_bk.jpg") no-repeat top left;
	background-size: cover;
	background-attachment: fixed;
	position: relative;
	z-index:1;
}
.hero::after{
	content:"";
	position:absolute;
	width:100%;
	top:0;
	left:0;
	right: 0;
	bottom:0;
	background-color: rgba(255,255,255,0.5);
	z-index:-1;
}
.hero_copy_bk1{
	z-index:-1;
	position: absolute;
	left:0px;
	top:100px;
	bottom:0px;
	width: 50%;
	background: url("../img/toppage_bk_1.jpg") no-repeat top center;
	background-size: cover;
	opacity:0;
	animation: anime_hero 12s;
}
.hero_copy_bk2{
	z-index:-1;
	position: absolute;
	right:0px;
	top:100px;
	bottom:0px;
	width: 50%;
	background: url("../img/toppage_bk_2.jpg") no-repeat top center;
	background-size: cover;
	opacity:0;
	animation: anime_hero 12s;
	animation-delay: 12s;
}
.hero_copy_bk3{
	z-index:-1;
	position: absolute;
	left:0px;
	top:100px;
	bottom:0px;
	width: 50%;
	background: url("../img/toppage_bk_3.jpg") no-repeat top center;
	background-size: cover;
	opacity:0;
	animation: anime_hero 12s;
	animation-delay: 24s;
}
@keyframes anime_hero{
	30%{opacity: 1;}
	70%{opacity: 1;}
	100%{opacity: 0;}
}
.hero_copy{
	height: calc(100vh - 100px);
	min-height: 800px;
	/*background-color: rgba(255,255,255,0.6);*/
	background-color: transparent;
	position: relative;
	z-index:2;
}
.hero_copy_inner{
	padding-top: 60px;
	padding-bottom: 120px;
	height: 100%;
}
.hero_copy .top_copy h2,
.hero_copy .top_copy p{
	font-family: 'Kaisei Tokumin', serif;
	font-weight: 500;
	color: #333;
}
.copy_box{
	width: 500px;
	position:absolute;
	right: 5%;
	top: 30vh;
	text-align: center;
}
.copy_box h2{
	color:#000;
	line-height: 3em;
	letter-spacing:0.1em;
}
.copy_box p{
	color:#000;
	font-size: 1rem;
	line-height: 1.4em;
	font-weight: bold;
}

.copy_box_small{
	background-color: rgba(255,255,255,0.4);
	box-shadow: 0 0 88px #fff;
	padding: 10px;
	max-width: 500px;
}
.copy_box_small h2{
	line-height: 1.1em;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.top_main{
		margin-top: 80px;
}
.top_main_info {
	margin: 0 auto 100px auto;
	max-width: 750px;
	padding: 0 10px;
	text-align: center;
}
.top_main_info h2{
	font-size: 1.5rem;
	position: relative;
	margin-bottom: 1em;
}
.top_main_info h2::before,
.top_main_info h2::after{
	content:"";
	display: block;
	height:1px;
	width: 20%;
	max-width: 120px;
	background-color: #aaa;
	position: absolute;
	top:0.75rem;
	font-size: 1.5rem;
}
.top_main_info h2::before{
	right: calc( 50% + 4em );
}
.top_main_info h2::after{
	left: calc( 50% + 4em );
}
.top_main_info p{
	font-size: 1.2rem;
	line-height: 1.2em;
	text-align: left;
	margin-top: 12px;
}
.top_main_topic{
	background: url("../img/toppage_bk_3.jpg") no-repeat top left;
	background-size: contain;
	background-attachment: fixed;
	padding-top: 0px;
	padding: 100px 10px;
	position: relative;
	z-index:1;
}
/*
.topic_bk {
	content:"";
	background-color: #000;
	position: absolute;
	display: block;
	top: 0;
	left: -30%;
	bottom: 0;
	width: 180%;
	z-index:-1;
	transform: skew(-70deg) translate(40%, 0);
}
*/

.top_main h3 {
	text-align: center;
}
.top_main .com {
	text-align: right;
	margin:0 1em;
	font-weight: bold;
}
.top_main .price{
	text-align: right;
	margin:8px 1em 0 1em;
	font-weight: bold;
}
.top_main .menu{
	margin:0 1em;
	margin-top: 20px;
	text-align: center;
}
.top_main li{
	padding: 6px 0;
}
.grid {
	z-index:2;
	max-width: 900px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 50% 50%;
	column-gap: 0;
	row-gap: 0;
}
.cell {
	aspect-ratio: 340 / 200;
	text-align: center;
	background-color: #fff;
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cell_color{
	background-color: var(--keycolor1);
}
.cell_2{
	color: #fff;
	font-weight: bold;
}
.cell_inner {
	width: 80%;
}
.cell_image{
	background-color: transparent;
}
.cell_image img{
	height: 80%;
	object-fit: cover;
	border-radius: 0 100px 0 0;
}
.iseebi_course{
	background-color: #000;
	color: #fff;
}
.iseebi_course_inner{
	padding: 100px 0 0 0;
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
.freedrink{
	width: 60%;
	max-width: 480px;
	margin: 0 10px 0 auto;
	line-height:1.2em;
	text-indent: -1rem;
	color: var(--keycolor2);
}

.freedrink mark{
	display: block;
	font-size: 1.2rem;
	line-height:1.4em;
	font-style: normal;
	background: none;
	color: var(--keycolor2);
	padding-left: 1rem;
}

.course_box{
	display: flex;
	margin-top: 60px;
	margin-bottom: 100px;
}
.course_box_rev{
	flex-direction: row-reverse;
}
.note{
	width: 50%;
	padding: 0 10px;
}
.fig{
	width: 50%;
	padding:0 10px;
}
.iseebi_course h3{
	font-size: 2.2rem;
	margin: 100px 0 30px 0;
}

.iseebi_okacha .fig{
	text-align: right;
}
.iseebi_zeitaku .fig{
	text-align: left;
}
.fig figcaption{
	margin-top: 0.75rem;
}
.course {
	text-align: center;
	padding-bottom:100px;
	color: #000;
}
.course h2 {
	text-align: center;
	padding: 100px 0 80px 0;
}
 /*季節のコース*/
.season_course{
	background-color: var(--keycolor1);
	padding-bottom:0;
}
.season_course_inner {
	padding: 0 10px 1px 10px;
	max-width: 900px;
	margin: 0 auto;
}
.season_course_box {
	width:100%;
	padding: 20px 0;
	margin-bottom: 100px;
}
.season_course_box div h3 {
	text-align: left;
	font-size: 1.8rem;
	padding-left: 28px;
	padding-bottom: 30px;
	background:url("../img/toppage_course_bar.png") bottom left no-repeat;
}
.ara_box div h3 span{
	padding-left: 10px;
	font-size: inherit;
}
.season_course_box .season_menu_inner{
	padding-top: 30px;
	padding-left: 40px;
}
.season_course_box .season_menu_inner p{
	text-align: left;
}
.season_course_box .course_price{
	font-weight: bold;
}
.season_course_box .course_com{
	font-weight: bold;
	padding-left: 2px;
}
.season_course_box .course_menu {
	margin-top: 30px;
}
.season_course_box .course_option{
	margin-top: 20px;
	margin-bottom: 20px;
	font-weight: bold;
	letter-spacing: -1px;
}
.visitor_course {
	background-color: #fff;
}
.visitor_course h2{
	background-color: #000;
	color: #fff;
}
.visitor_course h2 span{
	font-size: inherit;
}
.visitor_course_inner{
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	padding: 80px 10px 0 10px;
	position: relative;
}
.visitor_course_box{
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.visitor_course_box h3 span{
	font-size: inherit;
}
.visitor_course_box img{
	margin-top: 20px;
	border-radius: 100px 200px 0 80px;
}
.visitor_course_box	figcaption{
	text-align: right;
}
.visitor_course_box li{
	text-align: left;
	line-height: 1.2em;
}
.course_window{
	position: absolute;
	border-radius: 10px 600px 30px 30px;
	background-attachment: fixed;
}
.visitor_course_inner .course_window{
	background: url("../img/toppage_course_bk1.jpg") center left 5% no-repeat;
	background-size: 800px auto;
	background-attachment: fixed;
	top: 200px;
	bottom: 0px;
	left: 0;
	max-width: 400px;
	width: 40%;
}

.visitor_course li{
	font-weight: normal;
	line-height: 1.6em;
}
.kaiseki_course{
	background-color: #ffffff;
}
.kaiseki_course h2 {
	background-color: var(--keycolor1);
}
.kaiseki_course_inner {
	color: #000;
	max-width: 900px;
	padding: 80px 0 0 0;
	margin: 0 auto;
	position: relative;
}
.kaiseki_course_box {
	width:100%;
	max-width: 600px;
	padding: 1em;
	margin: 0 auto 150px auto;
}
 .kaiseki_course_box img{
	border-radius: 100px;
}
.kaiseki_course_box .long{
	letter-spacing: -2px;
}
.kaiseki_course_inner .window1{
	background: url("../img/toppage_course_bk2.jpg") center no-repeat;
	background-size: 900px auto;
	background-attachment: fixed;
	top: 300px;
	left: 0px;
	aspect-ratio: 1 / 1;
	width: 35%;
	border-radius: 150px;
}
.kaiseki_course_inner .window2{
	background: url("../img/toppage_bk_1.jpg") center no-repeat;
	background-size: 900px auto;
	background-attachment: fixed;
	top: 940px;
	right: 0px;
	aspect-ratio: 1 / 1;
	width: 35%;
	border-radius: 150px;
}
.kaiseki_course_inner .window3{
	background: url("../img/master.jpg") left 50% bottom 180px no-repeat;
	background-size: 200px auto;
	background-attachment: fixed;
	bottom: -240px;
	left: calc( 50% - 110px);
	width: 220px;
	height: 220px;
	border-radius: 200px;
}
.takeout{
	background-color: #000;
	color: #fff;
}
.takeout_inner {
	max-width: 900px;
	padding: 0 0 0 0;
	margin: 0 auto;
}
.takeout h2 {
	background: url("../img/toppage_bento_title_bk.png") top left;
}
.takeout_box {
	margin: 80px 10px;
}
.takeout h3 {
	font-size: 1.8rem;
	margin-bottom: 10px;
}
.takeout .price{
	text-align: center;
	margin-bottom: 20px;
}
.takeout_link{
	width: auto;
	max-width: 360px;
	margin: 0 auto;
}
.takeout_link img{
	width: 100%;
	transition: 1s;
	box-shadow: 0 0 5px #fff;
}
.takeout_link img:hover{
	transform: scale(1.1);
	opacity: 0.7;
	box-shadow: none;
}
.footer_inner_section{
	width: 100%;
	text-align: center;
}
.footer_container {
	display: flex;
	padding: 0 20px
}
.footer_container > section:first-child{
	flex:10% 0 0;
}
.footer_container > section.nth-child(2){
	flex:80% 0 0;
}
.footer_container > section:last-child{
	flex:10% 0 0;
}
footer a {
	display: block;
	width: 48px;
	height: 48px;
	border-radius: 10px;
	text-align: center;
}
@media screen and (min-width:731px){
	.season_course_box{
		display: flex;
		max-width: 100%;
		gap: 10px;
	}
	.season_menu, .fugu_img{
		width: 50%;
	}
	.fugu_box .season_menu_inner .course_menu span{
		display: block;
	}
}
@media screen and (max-width: 730px){
	.season_course_box div h3{
		text-align: center;
		padding-left: 0;
		background-position: left 50% bottom 0px;
	}
	.season_course_box .season_menu_inner{
		padding-left: 20px;
	}
}
@media screen and (min-width:631px){

	 .kaiseki_course_box img{
	 	border-radius: 140px 100px 300px 80px;
	 }
	 .kaiseki_course_inner .window2{
  		top: 940px;
  	}
	.cell p{
		margin: 2em;
		text-align: left;
	}
}
@media screen and (max-width:360px){
	.season_course .fugu_box .season_menu_inner .course_menu span{
		display: inline;
	}
	.season_course .ara_box .season_menu_inner .course_menu span{
		display: inline;
	}	
}