@charset "utf-8";
/*
Theme Name: sushi-smile
Theme URI: /wp-content/themes/sushi-smile

Author:株式会社エルアイディ
Author URI:https://lid.co.jp/
*/


/*==========================================

	共通設定

===========================================*/
main {
	overflow: hidden;
}
.wp7 {
	max-width: 780px;
	width: 98%;
	margin: 0 auto;
	position: relative;
}
.wp9 {
	max-width: 960px;
	width: 98%;
	margin: 0 auto;
	position: relative;
}
.wp11 {
	max-width: 1100px;
	width: 98%;
	margin: 0 auto;
	position: relative;
}
.pd80 {
	padding: 80px 0;
}
.bg-wh {
	background-color: #fff;
}
.tab-show {
	display: none;
}
p.tax {
	text-align: center;
	line-height: 1.6;
}


/*==========================================
	
   ヘッダー

===========================================*/
header {
	position: absolute;
	top: 0;
	right: 0;
	width: 360px;
	height: 100%;
	padding: 80px 30px 60px 30px;
	box-shadow: 3px -10px 10px 1px #000;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	transition: all 0.4s;
	background-image: url(./image/washi_bg_01.png);
}
.header-wrap {
	text-align: center;
}
header .header-logo {
	width: 90%;
	margin: 0 auto 60px auto;
}
.hedaer-nav {
	display: inline-block;
	text-align: left;
}
.hedaer-nav li {
	line-height: 1.4;
}
.hedaer-nav li a {
	padding: 10px 0;
	font-size: 20px;
}
header .header-tel {
	font-size: 34px;
	margin-top: 40px;
}
header .header-insta {
	background-color: #fff;
	border: 6px solid #bbb;
	text-align: center;
	margin-top: 30px;
}
header .header-insta a {
	padding: 20px 0;
}
header .header-insta p {
	margin-bottom: 10px;
	line-height: 1.6;
}
header .header-insta img {
	width: 80%;
}


/*==========================================
	
   フロートヘッダー

===========================================*/
.float-header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 80px;
	box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.15);
	background-image: url(./image/washi_bg_01.png);
	z-index: -1;
	opacity: 0;
	-moz-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.float-header.fixed{
	z-index: 2000;
	opacity: 1;
}
.float-header-wrap {
	position: relative;
	width: 100%;
	z-index: 2000;
	height: 80px;
	padding: 0 2%;
}
.float-header-logo {
	width: 230px;
}
.float-hedaer-nav {
	width: 70%;
}
.float-hedaer-nav ul {
	justify-content: flex-end;
}
.float-hedaer-nav p.float-tel {
	font-size: 30px;
	margin-bottom: 10px;
	text-align: right;
}
.float-hedaer-nav nav li:not(:first-of-type) {
	margin-left: 5%;
}


/*------------------------------------*
    
   メニューボタン

*------------------------------------*/
.sp-menubt {
	width: 36px;
	height: 36px;
	opacity: 1;
	position: relative;
	z-index: 2000;
	cursor: pointer;
	-webkit-transition: top 0.4s ease-in-out;
	-moz-transition: top 0.4s ease-in-out;
	transition: top 0.4s ease-in-out;
}
.sp-menubt span {
	display: block;
	width: 36px;
	height: 3px;
	background: #000;
	position: absolute;
	left: 0;
	border-radius: 5px;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	transition: all 0.4s;
}
.sp-menubt span:first-child {
	top: 8px;
}
.sp-menubt span:nth-child(2) {
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	top: 50%;
}
.sp-menubt span:last-child {
	bottom: 8px;
}

/*  スマホナビゲーション開閉  */

.sp-menubt.active span:first-child {
	-webkit-transform: translateY(-50%) rotate(45deg);
	-moz-transform: translateY(-50%) rotate(45deg);
	-ms-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	top: 50%;
}
.sp-menubt.active span:nth-child(2) {
	opacity: 0;
}
.sp-menubt.active span:last-child {
	-webkit-transform: translateY(50%) rotate(-45deg);
	-moz-transform: translateY(50%) rotate(-45deg);
	-ms-transform: translateY(50%) rotate(-45deg);
	transform: translateY(50%) rotate(-45deg);
	bottom: 50%;
}


/*------------------------------------*
    
   メニューボタン開閉

*------------------------------------*/
.overlay {
	content: "";
	display: block;
	width: 0;
	height: 0;
	background-color: rgba(0, 0, 0, 0.5);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	opacity: 0;
	-webkit-transition: opacity 0.4s;
	-moz-transition: opacity 0.4s;
	transition: opacity 0.4s;
}
.overlay.open {
	width: 100%;
	height: 100%;
	opacity: 1;
}
header.open {
	right: 0;
}



/*==========================================

	トップページ

===========================================*/
/*------------------------------------*
    
    動画設定

*------------------------------------*/
#main-visual {
	position: relative;
	overflow: hidden;
	width: calc(100% - 360px);
	height: 100vh;
	z-index: 0;
}
#video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 10;
	object-fit: cover;
}


/*------------------------------------*
   
   topics

*------------------------------------*/
#topics {
	position: relative;
}

.top-topics {
	text-align: center;
	padding: 20px 3%;
	border: 4px solid #000;
	line-height: 1.6;
}

.top-topics .topics-ttl {
	font-size: 26px;
	font-weight: bold;
	padding-bottom: 20px;
	margin-bottom: 30px;
	border-bottom: 2px solid #000;
	text-align: center;
}

.top-topics p:not(:last-of-type) {
	margin-bottom: 30px;
}


/*------------------------------------*
   
   about

*------------------------------------*/
#about {
	background-image: url(./image/washi_bg_01.png);
	position: relative;
}
.about-top {
	position: relative;
	padding-bottom: 100px;
}
.about-top-image {
	position: absolute;
	left: 0;
	top: 0;
	min-width: 500px;
	max-width: 50%;
}
.about-top .tx {
	width: 50%;
	margin-left: 50%;
	line-height: 2;
	font-size: 18px;
}
.about-top .tx h1 {
	font-size: 38px;
	margin-bottom: 30px;
	line-height: 1.4;
	font-weight: normal;
}
.about-top .tx p:not(:last-of-type) {
	margin-bottom: 30px;
}
.about-bt {
	position: relative;
}
.about-bt .image {
	position: relative;
	right: 0;
	top: 0;
	width: 50%;
	float: right;
}
.about-bt .image img.small {
	width: 50%;
	margin-top: 30px;
}
.about-bt .tx {
	width: 48%;
}
.about-bt .tx .about-bt-ttl {
	position: relative;
	align-items: flex-end;
}
.about-bt .tx .about-bt-ttl .akazu {
	width: 80px;
}
.about-bt .tx .about-bt-ttl h5 {
	font-size: 30px;
	margin-left: 30px;
	line-height: 1.4;
	text-align: left;
	font-weight: normal;
}
.about-bt .tx .tx-inner {
	line-height: 1.6;
	margin: 30px 0;
}


/*------------------------------------*
  
   parlx

*------------------------------------*/
section#parallax {
	position: relative;
	z-index: 1;
}
.parallax-wrap {
	height: 560px;
}
.parallax-image {
	clip: rect(0, auto, auto, 0);
	margin-bottom: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.parallax-image img {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	padding: 0;
	margin: 0;
	-o-object-fit: cover;
	object-fit: cover;
	z-index: 0;
	transform: translateZ(0);
}


/*------------------------------------*
   
   menu

*------------------------------------*/
#menu {
	position: relative;
}
#menu .box {
	position: relative;
}
#menu .nigiri {
	position: absolute;
	top: 50%;
	left: 1150px;
	width: 200px;
}
.menu-top {
	position: relative;
	z-index: 0;
	margin-bottom: -50%;
	padding: 80px 0 50% 0;
}
.menu-top::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	-webkit-transform: skewY(20deg);
	-webkit-transform-origin: top right;
	transform: skewY(20deg);
	transform-origin: top right;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: url(./image/menu_bg_01.png);
}
.menu-top h2 {
	font-size: 60px;
	margin-bottom: 30px;
	text-align: center;
	font-weight: normal;
}
.menu-type .box.first {
	margin-top: 60px;
}
.menu-type .box .image {
	width: 65%;
}
.menu-type .box .tx {
	font-size: 30px;
}
.menu-type .box .tx p.tx-ver {
	writing-mode: vertical-rl;
	word-wrap: break-word;
	text-align: right;
	line-height: 2;
}
.menu-type .box .tx p.tx-ver span {
	writing-mode: rl;
	line-height: 1.6;
	margin-right: 10px;
}
.menu-type .box .tx p.tx-price {
	text-align: center;
	margin-top: 30px;
}
.menu-type .box .tx p.tx-price small {
	font-size: 20px;
}
.menu-top .box .tx {
	padding-left: 80px;
}
.menu-bt .box .tx {
	padding-right: 80px;
}
.menu-bt {
	background: url(./image/menu_bg_02.png);
}
.menu-limited {
	padding-top: 80px;
}
.menu-limited p.tx-ver {
	writing-mode: vertical-rl;
	word-wrap: break-word;
	font-size: 50px;
	letter-spacing: 5px;
	color: #fff;
	padding-left: 80px;
}
.menu-maguro {
	width: 90%;
}
.menu-maguro .maguro-list:first-child {
	margin-bottom: 60px;
}
.menu-maguro .maguro-list .image {
	width: 50%;
}
.menu-maguro .maguro-list .tx {
	color: #fff;
	font-size: 30px;
	width: 45%;
	line-height: 2;
}
.menu-maguro .maguro-list-tsukuri .tx {
	text-align: right;
}
.menu-maguro .maguro-list-nigiri .tx {
	text-align: left;
}
.menu-maguro .maguro-list .tx .tx-inner {
	text-align: left;
	display: inline-block;
}
.menu-maguro .maguro-list .tx p span {
	display: block;
	font-size: 20px;
}
.menu-maguro .maguro-list .tx p small {
	font-size: 20px;
}
p.rarity {
	font-size: 16px;
	line-height: 1.6;
	color: #fff;
	text-align: center;
	margin-top: 30px;
}


/*------------------------------------*
  
   menu-list

*------------------------------------*/
#menu-list {
	background-image: url(./image/washi_bg_02.png);
}
.menu-list h3 {
	font-size: 30px;
	text-align: center;
	background: url(./image/menu_ttl_bg.png) no-repeat center center;
}
.menu-list h3.nigiri {
	padding: 60px 0;
	background-size: 390px 120px;
}
.menu-list h3.siru {
	margin-top: 30px;
}
.menu-list-table .box {
	width: 48%;
	margin-top: 30px;
}
.menu-list-table dl {
	display: flex;
	align-items: flex-end;
	border-bottom: 1px solid #000;
	line-height: 2;
}
.menu-list-table dl dt {
	width: 70%;
	padding: 15px 0 15px 20px;
}
.menu-list-table dl dd {
	width: 30%;
	padding: 15px 20px 15px 0;
	text-align: right;
}
.menu-list-table p.ate {
	text-align: center;
	margin-top: 10px;
}
.menu-list-table .box h3.na {
	margin-top: 30px;
}
.menu-list p.menu-last {
	font-size: 30px;
	text-align: center;
	line-height: 2;
	margin-top: 30px;
}


/*------------------------------------*
   
   info

*------------------------------------*/
#info {
	background-image: url(./image/info_bg.png);
}
.info-wrap {
	position: relative;
}
.info-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background-image: url(./image/info_image.png);
}
.info-table {
	margin-left: 55%;
	color: #fff;
}
.info-table h2 {
	font-size: 60px;
	margin-bottom: 60px;
	text-align: center;
	font-weight: normal;
}
.info-table dl {
	display: flex;
	line-height: 1.8;
}
.info-table dl dt {
	width: 38%;
	padding: 10px 0;
}
.info-table dl dd {
	width: 62%;
	padding: 10px 0;
}
.info-insta {
	margin: 60px auto 0 auto;
	background-color: #fff;
	text-align: center;
}
.info-insta a {
	padding: 20px 0;
}
.info-insta p {
	font-size: 20px;
	margin-bottom: 10px;
	line-height: 1.4;
}
.info-insta img {
	width: 60%;
	margin: 0 auto;
}


/*==========================================
	
   フッター

===========================================*/
footer {
	padding: 80px 0 20px 0;
	background-image: url(./image/info_bg.png);
}
footer .footer-logo {
	width: 300px;
	margin: 0 auto 60px auto;
}
.copy-right {
	line-height: 1.4;
	text-align: center;
	color: #fff;
}
.copy-right a {
	display: inline-block;
	color: #fff;
}



/***********************************************

    メディアクエリ（Media Queries）

************************************************/
@media screen and (max-width:1024px) {
	/*==========================================

	   ヘッダー
	
	===========================================*/
	header {
		width: 260px;
	}
	header .header-tel {
		font-size: 26px;
	}

	/*==========================================

	   トップページ

	===========================================*/
	/*------------------------------------*
    
       動画設定

	*------------------------------------*/
	#main-visual {
		width: calc(100% - 260px);
	}

	/*------------------------------------*
        menu
	*------------------------------------*/
	.menu-top {
		margin-bottom: -60%;
		padding: 80px 0 60% 0;
	}
}



/*------------------------------------------------------------------------------------------------*/
@media screen and (max-width:768px) {
	/*==========================================
	  
	   共通設定
	
	===========================================*/
	.tab-show {
		display: block;
	}
	.tab-hide {
		display: none;
	}

	
	/*==========================================
	 
	   ヘッダー
	
	===========================================*/
	header {
		position: fixed;
		top: 60px;
		right: -82%;
		width: 80%;
		padding: 20px 10px;
		z-index: 100;
	}
	.hedaer-nav {
		display: block;
	}
	.hedaer-nav li a {
		position: relative;
		border-bottom: 1px solid #bbb;
	}
	.hedaer-nav li a:after {
		content: ">";
		position: absolute;
		top: 50%;
		right: 0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}


	/*==========================================
	
	   フロートヘッダー
	
	===========================================*/
	.float-header{
		z-index: 2000 !important;
		opacity: 1 !important;
		display: block !important;
		height: 60px;
	}
	.float-header-wrap {
		height: 60px;
	}
	.float-header-logo {
		width: 80%;
		max-width: 200px;
	}
	.float-hedaer-nav {
		width: auto;
	}


	/*------------------------------------*
    
       動画設定

	*------------------------------------*/
	#main-visual {
		width: 100%;
	}
	#main-visual .main-logo{
		position: absolute;
		width: 50%;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
		margin-top: 30px;
		z-index: 100;
	}
	
	/*------------------------------------*
   
	   topics
	
	*------------------------------------*/
	.top-topics {
		text-align: left;
	}

	/*------------------------------------*
   
	   about
	
	*------------------------------------*/
	.about-top-image {
		position: relative;
		width: 100%;
		min-width: 100%;
		max-width: 100%;
	}
	#about .tx-inner {
		text-align: center;
	}
	#about .tx-inner .p-left {
		display: inline-block;
		text-align: left;
	}
	.about-top .tx {
		width: 100%;
		margin-left: 0;
	}
	.about-bt .image {
		width: 100%;
		float: none;
		margin-bottom: 40px;
	}
	.about-bt .tx {
		width: 100%;
	}
	.about-top {
		padding-bottom: 80px;
	}
	.about-top .tx .ttl-wrap {
		text-align: center;
	}
	.about-top .tx h1 {
		display: inline-block;
		font-size: 34px;
		text-align: justify;
	}
	.about-bt .tx .about-bt-ttl {
		align-items: flex-start;
		justify-content: space-between;
	}
	.about-bt .tx .about-bt-ttl .akazu {
		width: 70px;
		position: absolute;
		bottom: 0;
	}
	.about-bt .tx .about-bt-ttl h5 {
		writing-mode: vertical-rl;
		word-wrap: break-word;
		text-align: left;
	}
	.about-bt .tx .tx-inner {
		margin: 30px 0 0;
	}
	.about-bt .tx .about-bt-ttl .sp-image {
		width: 50%;
	}
	.about-bt .tx .about-bt-ttl .sp-image img:first-of-type {
		margin-bottom: 20px;
	}


	/*------------------------------------*
   
	    menu
	
    *------------------------------------*/
	#menu .box {
		display: block;
	}
	.menu-type .box .image {
		width: 100%;
		margin-bottom: 20px;
	}
	.menu-type .box .tx p.tx-ver {
		writing-mode: unset;
		text-align: center;
		width: 100%;
		line-height: 1.4;
	}
	.menu-type .box .tx p.tx-ver span {
		margin-right: 0;
	}
	.menu-top {
		margin-bottom: -126%;
		padding: 80px 0 122% 0;
	}
	.menu-top .box .tx {
		padding-left: 0;
	}
	.menu-bt .box .tx {
		padding-right: 0;
	}
	.menu-type .box .tx p.tx-price {
		margin-top: 10px;
	}
	.menu-limited {
		display: block;
		padding-top: 32%;
	}
	.menu-limited p.tx-ver {
		width: 100%;
		text-align: center;
		writing-mode: unset;
		padding-left: 0;
		font-size: 40px;
		margin-bottom: 30px;
	}
	.menu-maguro {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	.menu-maguro .maguro-list {
		display: block;
		width: 49%;
	}
	.menu-maguro .maguro-list:first-child {
		margin-bottom: 0;
	}
	.menu-maguro .maguro-list .image {
		width: 100%;
	}
	.menu-maguro .maguro-list .tx {
		width: 100%;
		text-align: center;
		line-height: 1.4;
	}


	/*------------------------------------*
   
	   menu-list
	
	*------------------------------------*/
	.menu-list-table .box {
		display: block;
		width: 100%;
	}
	.menu-list-table.first .box:nth-child(2) {
		margin-top: 0;
	}
	.menu-list-table dl dt {
		width: 65%;
		padding: 15px 0 15px 10px;
	}
	.menu-list-table dl dd {
		width: 35%;
		padding: 15px 10px 15px 0;
	}

	/*------------------------------------*
  
	   info

	*------------------------------------*/
	.info-table {
		width: 100%;
		margin-left: 0;
	}
	.info-table h2 {
		font-size: 40px;
	}
	.info-table .image {
		margin-bottom: 30px;
	}
	.info-table dl dt {
		width: 30%;
		padding: 10px 10px;
	}
	.info-table dl dd {
		width: 70%;
		padding: 10px 10px;
	}


	/*==========================================
	
	   フッター

	===========================================*/
	footer .footer-logo {
		width: 200px;
	}
}


/*------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px) {
	.sp-none {
		display: none;
	}
	/*==========================================
	  
	   ヘッダー
	
	===========================================*/
	.hedaer-nav li a {
		padding: 10px 0;
		font-size: 16px;
	}

	/*==========================================

	   トップページ

	===========================================*/
	/*------------------------------------*
    
       動画設定

	*------------------------------------*/
	#main-visual .main-logo{
		width: 80%;
	}
	
	/*------------------------------------*
   
	   topics
	
	*------------------------------------*/
	.top-topics .topics-ttl {
		font-size: 24px;
	}

	/*------------------------------------*
	
	   about
	
	*------------------------------------*/
	.about-top .tx h1 {
		font-size: 28px;
	}
	.about-top .tx {
		font-size: 16px;
	}
	.about-bt .tx .about-bt-ttl .akazu {
		width: 50px;
	}
	.about-bt .tx .about-bt-ttl h5 {
		font-size: 28px;
		margin-left: 20px;
	}
	.about-bt .tx .about-bt-ttl .sp-image {
		width: 60%;
	}

	/*------------------------------------*
   
	   menu
	
	*------------------------------------*/
	.menu-top h2 {
		font-size: 50px;
	}
	.menu-top {
		margin-bottom: -150%;
		padding: 80px 0 135% 0;
	}
	.menu-type .box .tx {
		font-size: 24px;
	}
	.menu-limited {
		padding-top: 36%;
	}
	.menu-limited p.tx-ver {
		font-size: 34px;
	}
	.menu-maguro .maguro-list .tx {
		font-size: 18px;
	}
	.menu-maguro .maguro-list .tx p span {
		font-size: 16px;
	}
	.menu-maguro .maguro-list .tx p small {
		font-size: 14px;
	}

	/*------------------------------------*
   
	   menu-list
	
	*------------------------------------*/
	.menu-list h3 {
		font-size: 28px;
	}
	.menu-list h3.nigiri {
		padding: 35px 0;
		background-size: 300px 90px;
	}
	.menu-list p.menu-last {
		font-size: 18px;
	}

	/*------------------------------------*
   
	   info

	*------------------------------------*/
	.info-table h2 {
		font-size: 34px;
	}
	.info-insta p {
		font-size: 18px;
	}


	/*==========================================
	
	   フッター

	===========================================*/
	.copy-right {
		font-size: 14px;
	}
}