@charset "utf-8";
/* CSS Document */

* {
  margin: 0;
  padding: 0;
  outline: 0;
}

body {
	overflow-x: hidden;
	margin: 0;
	padding: 0;
	/*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
	font-family: source-han-serif-japanese, serif;
	font-weight: 400;
	font-style: normal;
	-webkit-overflow-scrolling: touch;
	-moz-overflow-scrolling: touch;
	-ms-overflow-scrolling: touch;
	overflow-scrolling: touch;
	color: #000;
    -webkit-text-size-adjust: 100%;
}

div { box-sizing: border-box; }

img { margin: 0; pointer-events: none; }

figure { margin: 0; }

h1,h2,h3,h4 { margin: 0; }

p { margin: 0; line-height: 2em; }

ol, ul { list-style: none; }



/*------------------------- loading -------------------------*/

#loading-box {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	background: #000;
    z-index: 9999;
}
.loading-img {
    width: 120px;
    height: 368px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
	font-size: 1.5em;
    font-family: ten-mincho, serif;
    font-weight: 400;
    font-style: normal;
	letter-spacing: .2em;
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    animation: 1.5s logoOpacity cubic-bezier(.59,.18,.66,.93);
    -webkit-animation: 1.5s logoOpacity cubic-bezier(.59,.18,.66,.93);
	animation-direction: normal;
	z-index: 9999;
}

.loop-wrap {
	display: flex;
	width: 100vw;
	height: 100%;
	overflow: hidden;
	animation: 3s logoOpacity cubic-bezier(.59,.18,.66,.93);
    -webkit-animation: 3s logoOpacity cubic-bezier(.59,.18,.66,.93);
}
.loop-bg:nth-child(1) {
	width: auto;
    height: 100vh;
	animation: loop01 50s -25s linear infinite;
}

.loop-bg:nth-child(2) {
	width: auto;
    height: 100vh;
	animation: loop02 50s linear infinite;
}

.loop-bg img { width: 100vw; height: 100%; object-fit: cover; }

@keyframes loop01 {
	0% {
		transform: translateX(30%);
	}
	to {
		transform: translateX(-30%);
	}
}

@keyframes loop02 {
	0% {
		transform: translateX(0);
	}
	to {
		transform: translateX(-60%);
	}
}

@keyframes logoOpacity {
    0% {
		opacity: 0;
	}
    100% {
		opacity: 1;
	}
}



/*------------------------- header -------------------------*/

#header {
	display: flex;
	flex-direction: row-reverse;
	position: absolute;
	width: 100%;
	padding: 60px;
	z-index: 500;
	box-sizing: border-box;
}

.header__logo {
	width: 90px;
	display: flex;
	align-items: center;
	font-family: ten-mincho-text, serif;
	font-size: 5em;
	font-weight: 400;
	font-style: normal;
	letter-spacing: .1em;
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}
.header__logo a {
	color: #fff;
	text-decoration: none;
}
.header__logo img {
	width: 100px;
}

.header__nav {
	width: 20%;
	margin-right: 70px;
}
.header__nav ul {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	list-style: none;
	padding: 0;
	margin: 0;
}
.header__nav ul li {
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}
.header__nav ul li a {
	color: #fff;
	letter-spacing: .1em;
	text-decoration: none;
	padding-right: 5px;
	position: relative;
}
.header__nav ul li a::after{
  	position: absolute;
	right: 0;
  	top: 0;
  	display: block;
  	content: "";
  	width: 1px;
  	height: 0%;
	background: #fff;
  	transition: all 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.header__nav ul li a:hover::after {
	height: 100%;
}

.l-header__menu {}

.l-header__onlineshop {
	position: fixed;
    z-index: 1000;
    left: 60px;
    bottom: 60px;
	transform: translate3d(0, 0, 0);
}
.l-header__onlineshop a {
    display: flex;
	align-items: center;
    color: #fff;
    padding: 15px 18px;
    text-decoration: none;
	letter-spacing: .2em;
    border: 1px solid rgba(255,255,255,0.15);
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: "vrt2" on;
    font-feature-settings: "vpal";
    position: relative;
	transition: .4s;
}
.l-header__onlineshop a:before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 100%;
	background: #fff;
	-webkit-transition: 0.2s ease all;
	transition: 0.2s ease all;
	z-index: -1;
}
.l-header__onlineshop a:hover {
	color: #111;
	opacity: 1;
	-ms-filter: "alpha(opacity=100)";
	filter: alpha(opacity=100);
}
.l-header__onlineshop a:hover:before {
	width: 100%;
}
.l-header__onlineshop a span {
	font-size: .8em;
	line-height: 2.2em;
	margin-bottom: 25px;
	margin-top: 5px;
}

.l-header__onlineshop a.change-color {
	color: #111;
    border: 1px solid rgba(0,0,0,0.15);
}
.l-header__onlineshop a.change-color:hover {
	color: #fff;
}
.l-header__onlineshop a.change-color:before {
	background: #111;
}

/**/

.under-header__onlineshop {
	position: fixed;
    z-index: 999;
    left: 60px;
    bottom: 60px;
}
.under-header__onlineshop a {
    display: flex;
	align-items: center;
    color: #fff;
    padding: 15px 18px;
    text-decoration: none;
	letter-spacing: .2em;
    border: 1px solid rgba(255,255,255,0.15);
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: "vrt2" on;
    font-feature-settings: "vpal";
    position: relative;
	transition: .4s;
}
.under-header__onlineshop a:before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 100%;
	background: #fff;
	-webkit-transition: 0.2s ease all;
	transition: 0.2s ease all;
	z-index: -1;
}
.under-header__onlineshop a:hover {
	color: #111;
	opacity: 1;
	-ms-filter: "alpha(opacity=100)";
	filter: alpha(opacity=100);
}
.under-header__onlineshop a:hover:before {
	width: 100%;
}
.under-header__onlineshop a span {
	font-size: .8em;
	line-height: 2.2em;
	margin-bottom: 25px;
	margin-top: 5px;
}

.under-header__onlineshop a.change-color {
	display: block!important;
	color: #111;
    border: 1px solid rgba(0,0,0,0.15);
}
.under-header__onlineshop a.change-color:hover {
	color: #fff;
}
.under-header__onlineshop a.change-color:before {
	background: #111;
}

.under-header__onlineshop a.display-none {
	display: none;
	animation: .5s shopOpacity01 cubic-bezier(.59,.18,.66,.93);
    -webkit-animation: .5s shopOpacity01 cubic-bezier(.59,.18,.66,.93);
}

@keyframes shopOpacity01 {
    0% {
		opacity: 0;
	}
    100% {
		opacity: 1;
	}
}



/*------------------------- slide -------------------------*/

#vegas {
    width: 100%;
    height: 100vh;
	margin: auto;
	position: relative;
}
#vegas .bg {
	background-color: rgba(0,0,0,0.2);
	width: 100%;
	height: 100%;
	position: relative;
}
#vegas .bg__caption {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	margin: auto;
	font-size: 1.5em;
	font-family: ten-mincho, serif;
	font-weight: 400;
	font-style: normal;
	color: #fff;
	letter-spacing: .1em;
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.blur {
	animation-name: blur;
	animation-duration: 2s;
	animation-iteration-count: 1;
}

@keyframes blur {
	0% {
		filter: blur(30px);
	}
	100% {
		filter: blur(0);
	}
}

#vegas .kv__sns {
	display: flex;
    position: absolute;
    right: 60px;
    bottom: 60px;
    opacity: 1;
    z-index: 900;
}
#vegas .kv__sns ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
#vegas .kv__sns ul li {
	line-height: 0;
}
#vegas .kv__sns ul li:nth-child(1) {
	margin-bottom: 50px;
}
#vegas .kv__sns ul li:before {
    display: block;
    content: "";
    position: absolute;
    width: 25px;
    border-top: 1px solid #fff;
    opacity: 0.6;
    -ms-filter: "alpha(opacity=60)";
    filter: alpha(opacity=60);
    -webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	transform-origin: center;
    right: 0;
    top: 50px;
}
#vegas .kv__sns ul li a { display: block; transition: .3s; }
#vegas .kv__sns ul li a:hover { opacity: .6; }

/* scroll */

.scroll {
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	top: -130px;
	padding-bottom: 136px;
	z-index: 5;
	-webkit-transition: 0.6s ease all 1.5s;
	transition: 0.6s ease all 1.5s;
}
.scroll p {
	font-size: .7rem;
	color: #fff;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	line-height: 80%;
	letter-spacing: .2em;
}
.scroll span {
	overflow: hidden;
	display: block;
	position: absolute;
	width: 1px;
	height: 126px;
	left: 50%;
	bottom: 0;
}
.scroll span:before, .scroll span:after {
	display: block;
	content: "";
	position: absolute;
	bottom: 0;
	height: 100%;
}
.scroll span:before {
	z-index: 1;
	border-left: 1px solid rgba(255,255,255,0.4);
	mix-blend-mode: exclusion;
}
.scroll span:after {
	z-index: 2;
	border-left: 1px solid #fff;
	-webkit-animation: scrollBar 1.5s infinite linear;
	animation: scrollBar 1.5s infinite linear;
	mix-blend-mode: exclusion;
}

@-webkit-keyframes scrollBar {
	0% {
		top: -100%;
	}
	80% {
		top: 100%;
	}
	100% {
		top: 100%;
	}
}
@keyframes scrollBar {
	0% {
		top: -100%;
	}
	80% {
		top: 100%;
	}
	100% {
		top: 100%;
	}
}



/*------------------------- burger menu -------------------------*/

.button__container {
	display: block;
	position: fixed;
	top: 60px;
	left: 60px;
	height: 27px;
	width: 52px;
	cursor: pointer;
	-webkit-transition: opacity .25s ease;
	transition: opacity .25s ease;
	z-index: 2000;
}
.button__container:hover {
	opacity: .7;
}
.button__container.active .top {
	-webkit-transform: translateY(11px) translateX(0) rotate(45deg);
	transform: translateY(11px) translateX(0) rotate(45deg);
	background: #fff;
}
.button__container.active .middle {
	opacity: 0;
	background: #fff;
}
.button__container.active .bottom {
	-webkit-transform: translateY(-18px) translateX(0) rotate(-45deg);
	transform: translateY(-18px) translateX(0) rotate(-45deg);
	background: #fff;
}

.button__container .menu-txt {
	position: absolute;
	bottom: -40px;
	font-size: .9em;
	color: #fff;
	letter-spacing: .1em;
}
.button__container .menu-txt.change-color { color: #111; }

.button__container span {
	background: #fff;
	border: none;
	height: 1px;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
	cursor: pointer;
}
.button__container span:nth-of-type(2) { top: 15px; }
.button__container span:nth-of-type(3) { top: 30px; }

.button__container:hover span:nth-of-type(1) { top: 5px; }
.button__container:hover span:nth-of-type(3) { top: 25px; }

.button__container:hover.active .top { top: 0; }
.button__container:hover.active .bottom { top: 30px; }

.button__container span.change-color { background-color: #111; }

.overlay {
	display: block;
	position: fixed;
	background: rgba(0,0,0,0.9);
	top: 0;
	left: 0;
	width: 100%;
	height: 0%;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity .35s, visibility .35s, height .35s;
	transition: opacity .35s, visibility .35s, height .35s;
	overflow: hidden;
}
.overlay.open {
	opacity: 1;
	visibility: visible;
	height: 100%;
	z-index: 1500;
}
.overlay.open li {
	-webkit-animation: fadeInRight .5s ease forwards;
	-webkit-animation: fadeInRight .5s ease forwards;
	animation: fadeInRight .5s ease forwards;
	-webkit-animation-delay: .35s;
	animation-delay: .35s;
}
.overlay nav {
	position: relative;
	top: 47%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 70%;
	margin: 0 auto;
}
.overlay ul {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	display: inline-block;
	position: relative;
	height: 100%;
}
.overlay ul li {
	display: block;
	height: 15%;
	height: calc(100% / 6);
	min-height: 30px;
	position: relative;
	opacity: 0;
}
.overlay ul li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -50px;
	width: 30px;
	height: 1px;
	background: #fff;
}
.overlay ul li a {
	display: block;
	position: relative;
	padding: .7em 0;
	font-size: 1.5em;
	color: #fff;
	text-decoration: none;
	line-height: 2em;
	letter-spacing: .05em;
	overflow: hidden;
}
.overlay ul li a span {
	font-size: .6em;
	color: #fff;
	margin-left: 20px;
}
.overlay ul li a:hover:after, .overlay ul li a:focus:after, .overlay ul li a:active:after {
	width: 100%;
}

@-webkit-keyframes fadeInRight {
	0% { opacity: 0; left: 20%; }
	100% { opacity: 1; left: 0; }
}
@keyframes fadeInRight {
	0% { opacity: 0; left: 20%; }
	100% { opacity: 1; left: 0;	}
}

.overlay ul li:nth-child(1) { animation-delay: .1s; }
.overlay ul li:nth-child(2) { animation-delay: .2s; }
.overlay ul li:nth-child(3) { animation-delay: .3s; }
.overlay ul li:nth-child(4) { animation-delay: .4s; }
.overlay ul li:nth-child(5) { animation-delay: .5s; }
.overlay ul li:nth-child(6) { animation-delay: .6s; }
.overlay .onlineshop {
	-webkit-animation: fadeInRight .5s ease forwards;
	animation: fadeInRight .5s ease forwards;
	animation-delay: .7s;
}

.overlay .onlineshop { width: 370px; margin-top: 30px; margin-left: -50px; }
.overlay .onlineshop a {
	display: block;
    color: #222;
    padding: 18px;
    text-decoration: none;
    letter-spacing: .1em;
	background: #fff;
    border: 1px solid rgba(255,255,255,0.45);
	transition: .3s;
}
.overlay .onlineshop a:hover { color: #fff; background: none; }
.overlay .onlineshop span { margin-right: 20px; }

.overlay .address {
	position: absolute;
	top: 17%;
	right: 15%;
	font-family: ten-mincho, serif;
	color: #fff;
	text-align: right;
	letter-spacing: .1em;
}
.overlay .address h2 { letter-spacing: .2em; margin-bottom: 10px; }



/**/

.top__contents {
	position: relative;
	overflow: hidden;
	margin: 0 auto;
	background: url("../img/common/bg_img.jpg") center;
}

.top__top-contents01 {
	width: 100%;
    margin: 0 auto 0;
    padding: 0 0 100px;
    position: relative;
}
.top__top-contents01 .inner {
	width: 80%;
    max-width: 1200px;
    margin: 0 auto 200px;
    padding: 300px 0;
    position: relative;
}

.top__top-contents01-img01 {
	width: 800px;
	position: relative;
	overflow: hidden;
}

.top__top-contents01-title101 {
	position: absolute;
	top: 25%;
	right: 70px;
	color: #333;
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}
.top__top-contents01-title101::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -50px;
	width: 160px;
	height: 125px;
	background: url("../img/common/top_sakura.png") no-repeat;	
}
.top__top-contents01-title101 span {
	display: block;
	position: relative;
	padding: 70px 0 0 0;
	letter-spacing: .05em;
}
.top__top-contents01-title101 span::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 42%;
	width: 1px;
	height: 50px;
	background: #333;
}
.top__top-contents01-title101 h2 {
	font-size: 3em;
	font-family: ten-mincho, serif;
	font-weight: normal;
}

.top__top-contents01-txt01 {
	position: absolute;
	right: 0;
	bottom: -40px;
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	overflow: hidden;
	z-index: 5;
}

.top__top-contents01-txt01 p {
	color: #333;
	line-height: 400%;
	letter-spacing: .1em;
	border-right: 1px solid rgba(20,20,20,0.05);
	background: linear-gradient(to left, rgba(20,20,0,0.2) 1px, transparent 1px) transparent;
    background-size: 4em auto;
    background-position: 1px top;
}



/* トップ-営業案内 */

.top__top-contents02 {
	background: url("../img/common/sample_back01.jpg") no-repeat center;
    background-size: cover;
	background-attachment: fixed;
    position: relative;
	margin-bottom: calc(13vw - 21px);
}
.top__top-contents02 .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 200px 0;
	color: #fff;
	text-align: center;
}

.top__business-heading {
    text-align: center;
	margin-bottom: 60px;
}
.top__business-heading p {
    font-size: .9rem;
	color: #fff;
    line-height: 140%;
	letter-spacing: .1em;
    margin-bottom: 10px;
}
.top__business-heading h2 {
    font-size: 2.5em;
    line-height: 140%;
    letter-spacing: 0.1em;
	font-family: ten-mincho, serif;
    font-weight: normal;
	color: #fff;
    text-align: center;
}
.top__business-heading br { display: none; }

.top__top-contents02 .inner .txt {
	line-height: 300%;
	letter-spacing: .1em;
}

.top__top-contents02 .inner .button {
	width: 250px;
	margin: 60px auto 0 auto;
	font-size: 1.2em;
	text-align: center;
	position: relative;
}
.top__top-contents02 .inner .button::after {
	content: "";
	position: absolute;
	bottom: -15px;
	left: 0;
	width: 300px;
	height: 1px;
	background-color: #fff;
}
.top__top-contents02 .inner .button a { color: #fff; text-decoration: none; position: relative; }
.top__top-contents02 .inner .button a:before {
    content: "";
    position: absolute;
    right: -50px;
    top: 52%;
    width: 25px;
    margin-left: -10px;
    margin-top: -1px;
    height: 1px;
    background: #fff;
    z-index: 1;
    transition: .5s;
}
.top__top-contents02 .inner .button a:after {
    content: "";
    position: absolute;
    right: -50px;
    top: 52%;
    width: 8px;
    margin-top: -1px;
    margin-left: -2px;
    height: 1px;
    background: #fff;
    z-index: 1;
    -webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    transition: .5s;
}
.top__top-contents02 .inner .button a:hover:before { right: -65px; }
.top__top-contents02 .inner .button a:hover:after { right: -65px; }



/* トップ-テイクアウトメニュー */

.top__top-contents03 { margin-bottom: calc(13vw - 21px); }

.top__product-heading {
    text-align: center;
	margin-bottom: 100px;
}
.top__product-heading p {
    font-size: .9rem;
	color: #666;
    line-height: 140%;
	letter-spacing: .1em;
    margin-bottom: 10px;
}
.top__product-heading h2 {
    font-size: 2.5em;
    line-height: 140%;
    letter-spacing: 0.1em;
	font-family: ten-mincho, serif;
    font-weight: normal;
	color: #333;
    text-align: center;
}

.top__product-content {
	width: 90%;
	max-width: 1400px;
	margin: 0 auto;
}
.top__product-content ul {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	margin-bottom: calc(9vw - 21px);
}
.top__product-content ul:before, .top__product-content ul:after {
	display: none;
}
.top__product-content li {
	width: 32.1312%;
	overflow: hidden;
}
.top__product-content li a {
	display: block;
	position: relative;
	font-family: ten-mincho, serif;
    font-weight: 400;
    font-style: normal;
	color: #333;
	text-decoration: none;
	padding-top: 129.0816%;
	transition: .4s;
}
.top__product-content li a:before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
	background: #fff;
	z-index: 1;
	-webkit-transition: 0.8s cubic-bezier(0.77, 0, 0.18, 1) all;
	transition: 0.8s cubic-bezier(0.77, 0, 0.18, 1) all;
}
.top__product-content li a:hover {
	opacity: 1;
	-ms-filter: "alpha(opacity=100)";
	filter: alpha(opacity=100);
}
.top__product-content li .box1 {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	position: absolute;
	z-index: 4;
	right: 20px;
	top: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: calc(100% - 40px);
}
.top__product-content li .box1:before, .top__product-content li .box1:after {
	display: none;
}
.top__product-content li .box1 h3 {
	font-size: 1.7rem;
	line-height: 140%;
	font-weight: normal;
}
.top__product-content li .box1 p {
	font-size: 1rem;
	line-height: 120%;
}
.top__product-content li .img1 {
	z-index: 2;
}
.top__product-content li .img1, .top__product-content li .img1 img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.top__product-content li .img2 {
	opacity: 0;
	-ms-filter: "alpha(opacity=0)";
	filter: alpha(opacity=0);
	position: absolute;
	-webkit-transition: 0.8s cubic-bezier(0.77, 0, 0.18, 1) width, 0.8s cubic-bezier(0.77, 0, 0.18, 1) opacity;
	transition: 0.8s cubic-bezier(0.77, 0, 0.18, 1) width, 0.8s cubic-bezier(0.77, 0, 0.18, 1) opacity;
	right: 0;
	top: 0;
	z-index: 3;
	width: 50%;
	height: 100%;
}
.top__product-content li .img2 img {
	object-fit: cover;
	width: 100%;
	max-width: initial;
	height: 100%;
}
.top__product-content li:hover a {
	color: #fff;
}
.top__product-content li:hover a:before {
	width: 100%;
}
.top__product-content li:hover .img2 {
	width: 100%;
	opacity: 1;
	-ms-filter: "alpha(opacity=100)";
	filter: alpha(opacity=100);
}

.top__product-content li:nth-child(1) {
    transition-delay: .4s;
}
.top__product-content li:nth-child(2) {
    transition-delay: .2s;
}

.top__product-btn {
	width: 250px;
	margin: 0 auto;
	font-size: 1.2em;
	text-align: center;
	position: relative;
}
.top__product-btn::after {
	content: "";
	position: absolute;
	bottom: -15px;
	left: 0;
	width: 300px;
	height: 1px;
	background-color: #333;
}
.top__product-btn a { color: #333; text-decoration: none; position: relative; }
.top__product-btn a:before {
    content: "";
    position: absolute;
    right: -50px;
    top: 52%;
    width: 25px;
    margin-left: -10px;
    margin-top: -1px;
    height: 1px;
    background: #333;
    z-index: 1;
    transition: .5s;
}
.top__product-btn a:after {
    content: "";
    position: absolute;
    right: -50px;
    top: 52%;
    width: 8px;
    margin-top: -1px;
    margin-left: -2px;
    height: 1px;
    background: #333;
    z-index: 1;
    -webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    transition: .5s;
}
.top__product-btn a:hover:before { right: -65px; }
.top__product-btn a:hover:after { right: -65px; }



/**/

.top__top-contents04 {
	position: relative;
	background: #fff;
}

.top__news {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 200px 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.top__news-heading h2 {
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 2.5rem;
	font-family: ten-mincho, serif;
    font-weight: normal;
	line-height: 140%;
    display: inline-block;
}
.top__news-heading h2 span {
    font-size: .4em;
	letter-spacing: .1em;
    margin-top: 30px;
}

.top__news-content {
    width: 900px;
    max-width: 100%;
}
.top__news-content ul { margin: 0; }
.top__news-content li { border-bottom: 1px rgba(30,30,30,.2) solid; }
.top__news-content li:first-child { border-top: 1px rgba(30,30,30,.2) solid; }
.top__news-content li a {
    display: flex;
	color: #333;
    text-decoration: none;
    padding: 20px 0;
    position: relative;
	transition: .3s;
}
.top__news-content li a:hover {
	opacity: .6;
}
.top__news-content li p {
    font-size: .9em;
	letter-spacing: .1em;
    margin-right: 30px;
}
.top__news-content li h3 {
    font-size: 1em;
	line-height: 180%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.top__news-content li .icon {
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -11px;
    -webkit-transition: 0.2s ease all;
    transition: 0.2s ease all;
    width: 22px;
    height: 22px;
    border-radius: 100%;
    border: 1px solid #666;
}
.top__news-content li .icon:before, .top__news-content li .icon:after {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    -webkit-transition: 0.2s ease all;
    transition: 0.2s ease all;
    width: 6px;
    height: 9px;
    margin: auto;
    background: url(../img/common/arrow.svg) no-repeat center;
    background-size: 6px 9px;
}

.top__news-btn {
	width: 200px;
	margin: 100px auto 0;
	font-size: 1.2em;
	text-align: center;
	position: relative;
}
.top__news-btn::after {
	content: "";
	position: absolute;
	bottom: -15px;
	left: 0;
	width: 250px;
	height: 1px;
	background-color: #333;
}
.top__news-btn a { color: #333; text-decoration: none; position: relative; }
.top__news-btn a:before {
    content: "";
    position: absolute;
    right: -50px;
    top: 52%;
    width: 25px;
    margin-left: -10px;
    margin-top: -1px;
    height: 1px;
    background: #333;
    z-index: 1;
    transition: .5s;
}
.top__news-btn a:after {
    content: "";
    position: absolute;
    right: -50px;
    top: 52%;
    width: 8px;
    margin-top: -1px;
    margin-left: -2px;
    height: 1px;
    background: #333;
    z-index: 1;
    -webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    transition: .5s;
}
.top__news-btn a:hover:before { right: -65px; }
.top__news-btn a:hover:after { right: -65px; }



/*------------------------- footer -------------------------*/

#footer {
	background: #141414;
    color: #fff;
    padding: 100px 0;
	display: flex;
	position: relative;
    justify-content: space-between;
	flex-wrap: wrap;
}

.footer__info {
    width: 60%;
    padding-left: 0;
    padding-right: 10%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: flex;
    flex-direction: row-reverse;
}

.footer__info .logo {
	width: 70px;
    margin-left: 40px;
    display: flex;
}
.footer__info .logo img { width: 100%!important; }

.footer__info .add {
	margin-left: 20px;
	font-size: 1em;
	letter-spacing: .1em;
    line-height: 170%;
	writing-mode: vertical-rl;
}
.footer__info .add p { position: relative; padding-top: 80px; }
.footer__info .add p span {
	position: absolute;
	top: 0;
}

.footer__info .holiday {
	margin-left: 20px;
	font-size: 1em;
	letter-spacing: .1em;
    line-height: 170%;
	writing-mode: vertical-rl;
}
.footer__info .holiday p { position: relative; padding-top: 80px; }
.footer__info .holiday p span {
	position: absolute;
	top: 0;
}

.footer__info .time {
	font-size: 1em;
	letter-spacing: .1em;
    line-height: 170%;
	writing-mode: vertical-rl;
}
.footer__info .time p { position: relative; padding-top: 80px; }
.footer__info .time p span {
	position: absolute;
	top: 0;
}

.footer__nav {
    width: 35%;
    padding-left: 10%;
    padding-right: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.footer__nav ul {
	margin: 0 0 40px 0;
	padding: 0;
}
.footer__nav li {
	font-size: 1em;
	letter-spacing: .1em;
	margin-bottom: 15px;
}
.footer__nav li a {
	color: #fff;
	text-decoration: none;
}

.footer__nav .copyright {
	font-size: .8em;
	letter-spacing: .1em;
}



/*------------------------- common -------------------------*/

.bg-white { background: #fff; }

.page__head {
	width: 100%;
	height: 600px;
	padding-top: 100px;
	background: url("../img/common/load_back_img.jpg");
	background-size: cover;
}
.page__head-inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}

.page__head-inner .breadcrumb {
	position: relative;
	color: #fff;
	margin-bottom: 170px;
	z-index: 450;
}
.page__head-inner .breadcrumb a {
	color: #fff;
	text-decoration: none;
}

.page__head-inner .page-title {
	font-family: ten-mincho, serif;
	font-weight: 400;
	font-style: normal;
	color: #fff;
}
.page__head-inner .page-title h2 {
	font-size: 4em;
	font-weight: 400;
}
.page__head-inner .page-title p {
	letter-spacing: .1em;
	margin-left: 10px;
}

.page__head-inner .category-date {
	display: flex;
	margin-top: -30px;
	margin-bottom: 50px;
}
.page__head-inner .category {
	font-size: 1em;
    line-height: 120%;
    padding: 5px 8px;
	background: #fff;
}
.page__head-inner .date {
	position: relative;
	font-size: 1em;
	color: #fff;
    line-height: 120%;
	letter-spacing: .1em;
    padding: 5px 8px 5px 140px;
}
.page__head-inner .date:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
	bottom: 0;
    left: 20px;
	margin: auto 0;
	width: 100px;
    height: 1px;
	background: #fff;
	opacity: .7;
}

.page__head-inner .title-txt {
	font-family: ten-mincho, serif;
	font-weight: 400;
	font-style: normal;
	color: #fff;
}
.page__head-inner .title-txt h2 {
	font-size: 2.5em;
	font-weight: 400;
}

.page-bg01 {}
.page-bg02 { background: url("../img/lunch/mv_back.png") no-repeat; background-size: cover; }
.page-bg03 { background: url("../img/night/mv_back.png") no-repeat; background-size: cover; }
.page-bg04 { background: url("../img/caterer/mv_back.png") no-repeat; background-size: cover; }
.page-bg05 {}



/*------------------------- caterer -------------------------*/

.caterer {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 200px 0;
}

.caterer .caterer__text {
	margin: 0 auto 150px;
	font-size: 1.2em;
	letter-spacing: .1em;
	writing-mode: vertical-rl;
}

.caterer .caterer__image { display: flex; justify-content: space-between; flex-wrap: wrap; position: relative; margin-bottom: 150px; }
.caterer .caterer__image::after {
	content: "";
	position: absolute;
    top: 6.8%;
	left: -30%;
	width: 1920px;
	height: 86.5%;
	background: #fff;
}
.caterer .caterer__image .item:nth-child(1) { position: relative; width: 49%; margin-top: 100px; margin-bottom: 25px; line-height: 0; z-index: 1; }
.caterer .caterer__image .item:nth-child(2) { position: relative; width: 49%; line-height: 0; z-index: 1; }
.caterer .caterer__image .item:nth-child(3) { position: relative; width: 49%; line-height: 0; margin-bottom: 25px; z-index: 1; }
.caterer .caterer__image .item:nth-child(4) { position: relative; width: 49%; margin-top: -100px; line-height: 0; z-index: 1; }
.caterer .caterer__image .item:nth-child(5) { position: relative; width: 49%; line-height: 0; z-index: 1; }
.caterer .caterer__image .item:nth-child(6) { position: relative; width: 49%; margin-top: -100px; line-height: 0; z-index: 1; }

.caterer .caterer__form { padding: 3em; background: #fff; }
.caterer .caterer__form dl { display: flex; flex-wrap: wrap; }
.caterer .caterer__form dt { width: 25%; }
.caterer .caterer__form dd { width: 75%; }

.caterer .caterer__tel { text-align: center; }
.caterer .caterer__tel p { font-size: 1.2em; }
.caterer .caterer__tel p.bold { margin-bottom: 30px; font-weight: bold; }
.caterer .caterer__tel strong { font-size: 3em; }



/*------------------------- lunch -------------------------*/

.lunch { padding: 200px 0; }
.lunch .lunch__start { position: relative; display: flex; margin-left: 18%; margin-bottom: 300px; }
.lunch .lunch__start .start__text { width: 30%; display: flex; flex-direction: row; }
.lunch .lunch__start .start__text h2 { font-size: 2.5em; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; margin-right: 10px; }
.lunch .lunch__start .start__text small { -ms-writing-mode: tb-rl; writing-mode: vertical-rl; letter-spacing: .1em; }
.lunch .lunch__start .start__text p {
	width: 10vw;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 1.2em;
	line-height: 225%;
	letter-spacing: .1em;
	margin-top: 50px;
	margin-left: auto;
	margin-right: 60px;
}
.lunch .lunch__start .start__photo { position: absolute; right: 0; top: 100px; width: 50vw; }
.lunch .lunch__start .start__photo img { width: 100%; height: 600px; object-fit: cover; }

.lunch .lunch__time {
	margin-bottom: 150px;
	padding: 2em;
	font-size: 1.2em;
	color: #fff;
	line-height: 2em;
	text-align: center;
	background: #b7282e;
}
.lunch .lunch__time br { display: none; }

.lunch .lunch__ex { font-size: 2em; font-weight: bold; color: #b7282e; text-align: center; margin-bottom: 80px; }

.lunch .lunch__menu-01 { display: flex; align-items: center; margin-bottom: 150px; }
.lunch .lunch__menu-01 .menu__photo { width: 50vw; position: relative; overflow: hidden; }
.lunch .lunch__menu-01 .menu__photo img { width: 100%; }
.lunch .lunch__menu-01 .menu__text { width: 35vw; padding-left: 9vw; }
.lunch .lunch__menu-01 .menu__text small { display: block; margin-bottom: 10px; color: #383B4E; }
.lunch .lunch__menu-01 .menu__text h3 { font-size: 2.5em; margin-bottom: 30px; }
.lunch .lunch__menu-01 .menu__text h3 span { font-size: .7em; }
.lunch .lunch__menu-01 .menu__text strong { display: block; font-size: 1.5em; margin-top: 30px; }
.lunch .lunch__menu-01 .menu__text strong.margin { margin-top: 10px; }
.lunch .lunch__menu-01 .menu__text strong span { font-size: .7em; }
.lunch .lunch__menu-01 .menu__text ul { margin-top: 30px; list-style: none; padding: 1.5em; font-size: .8em; color: #fff; background: #383B4E; }
.lunch .lunch__menu-01 .menu__text ul li { line-height: 2em; }

.lunch .lunch__menu-02 { display: flex; align-items: center; justify-content: flex-end; margin-bottom: 150px; }
.lunch .lunch__menu-02 .menu__photo { width: 50vw; position: relative; overflow: hidden; }
.lunch .lunch__menu-02 .menu__photo img { width: 100%; }
.lunch .lunch__menu-02 .menu__text { width: 35vw; padding-right: 9vw; }
.lunch .lunch__menu-02 .menu__text small { display: block; margin-bottom: 10px; color: #383B4E; }
.lunch .lunch__menu-02 .menu__text h3 { font-size: 2.5em; margin-bottom: 30px; }
.lunch .lunch__menu-02 .menu__text strong { display: block; font-size: 1.5em; margin-top: 30px; }
.lunch .lunch__menu-02 .menu__text strong span { font-size: .7em; }
.lunch .lunch__menu-02 .menu__text ul { margin-top: 30px; list-style: none; padding: 1.5em; font-size: .8em; color: #fff; background: #383B4E; }
.lunch .lunch__menu-02 .menu__text ul li { line-height: 2em; }

.lunch .lunch__menu-01:last-child { margin: 0; }

.lunch .lunch__menu-list { width: 90%; max-width: 1200px; margin: 0 auto; display: flex; align-items: flex-start; flex-wrap: wrap; }
.lunch .lunch__menu-list dl { width: 30%; display: flex; flex-wrap: wrap; margin-right: 5%; margin-bottom: 50px; }
.lunch .lunch__menu-list dl:nth-child(3n) { margin-right: 0; }
.lunch .lunch__menu-list dl .item-cate { width: 100%; margin-bottom: 10px; font-size: 1.3em; font-weight: bold; }
.lunch .lunch__menu-list dl .item-cate span { font-size: .7em; }
.lunch .lunch__menu-list dl .item-name { width: 70%; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px #383B4E solid; }
.lunch .lunch__menu-list dl .item-price { width: 30%; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px #383B4E solid; text-align: right; }

.lunch .lunch__menu-list dl .item-cate.space { padding-bottom: 8px; }
.lunch .lunch__menu-list dl .item-name.width50 { width: 50%; }
.lunch .lunch__menu-list dl .item-price.width50 { width: 50%; }

.lunch .take-out {
	width: 100%;
	padding: .5em;
	font-size: 1.5em;
	font-family: ten-mincho, serif;
	font-weight: 400;
	font-style: normal;
	color: #fff;
	text-align: center;
	background: #b7282e;
}
.lunch .take-out br { display: none; }



/*------------------------- night + bus -------------------------*/

.night {
	/*width: 90%;
	max-width: 1200px;*/
	margin: 0 auto;
	padding: 200px 0 0;
}

.night .night__start { display: flex; margin-right: 15%; margin-bottom: 150px; }
.night .night__start h2 { font-size: 2.5em; letter-spacing: .1em; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; order: 3; }
.night .night__start p {
	font-size: 1.2em;
	line-height: 225%;
	letter-spacing: .1em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	margin-top: 50px;
	margin-left: auto;
	margin-right: 5vw;
	order: 2;
}
.night .night__start figure { width: 50vw; margin-top: 100px; order: 1; }
.night .night__start figure img { width: 100%; height: 600px; object-fit: cover; }

.night .night__price {
	padding: 1.5em;
	margin-bottom: 150px;
	font-size: 1.5em;
	font-weight: bold;
	color: #fff;
	text-align: center;
	letter-spacing: .05em;
	background: #383B4E;
}

.night .night__menu01 { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; }
.night .night__menu01 .menu__text { margin-right: auto; margin-left: 15vw; display: flex; flex-wrap: wrap; }
.night .night__menu01 .menu__text h3 {
	margin-left: 30px;
	font-size: 1.2em;
	line-height: 2em;
	letter-spacing: .1em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	order: 2;
}
.night .night__menu01 .menu__text p { -ms-writing-mode: tb-rl; writing-mode: vertical-rl; order: 1; }
.night .night__menu01 figure { width: 60%; line-height: 0; }

.night .night__menu02 { display: flex; align-items: center; flex-wrap: wrap; }
.night .night__menu02 .menu__text { margin-right: 15vw; margin-left: auto; display: flex; flex-wrap: wrap; }
.night .night__menu02 .menu__text h3 {
	margin-left: 30px;
	font-size: 1.2em;
	line-height: 2em;
	letter-spacing: .1em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	order: 2;
}
.night .night__menu02 .menu__text p { -ms-writing-mode: tb-rl; writing-mode: vertical-rl; order: 1; }
.night .night__menu02 figure { width: 60%; line-height: 0; }

.bus {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 200px 0 200px;
}
.bus h2 {
	font-size: 1.8em;
	text-align: center;
	line-height: 2em;
	margin-bottom: 50px;
}
.bus p { text-align: center; margin-bottom: 50px; }
.bus p span { display: block; margin: 15px 0; font-size: 3em; font-weight: bold; letter-spacing: .05em; }
.bus figure { text-align: center; margin-bottom: 20px; }


/*------------------------- room (360view) -------------------------*/

.room {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 0 0;
}
.room h2 { font-size: 2em; margin-bottom: 20px; }

.room #panorama { height: 500px; margin: 10px 0 20px 0; }

.room .viewlist { list-style: none; display: flex; flex-wrap: wrap; margin: 20px 0 0 0; }

.room .viewlist li { width: 25%; text-align: center; border: #888 solid 1px; box-sizing: border-box; }

.room .viewlist li.now { background: #888; font-weight: bold; color: #fff; }
.room .viewlist li.now a { background: #888; color: #fff; }
.room .viewlist li.now a:hover { color: #fff; }
.room .viewlist li.now a:visited { color: #fff; }
.room .viewlist li.now a:active { color: #fff; }

.room .viewlist li a { text-decoration: none; display: block; color: #444; padding: 8px; }
.room .viewlist li a:hover { font-weight: bold; color: #000; }
.room .viewlist li a:visited { text-decoration: none; color: #444; }
.room .viewlist li a:active { text-decoration: none; color: #444; }

.room .room-chair { width: 80%; margin: 50px auto 0; display: flex; justify-content: space-between; align-items: center; background: #383B4E; }
.room .room-chair figure { width: 70%; line-height: 0; }
.room .room-chair p {
	width: 30%;
	display: flex;
	align-items: center;
	font-size: 1.1em;
	color: #fff;
	letter-spacing: .1em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}



/*------------------------- service + access -------------------------*/

.service {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 200px 0 0;
}
.service h2 {
	font-size: 2.5em;
	color: #222;
	letter-spacing: .1em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	margin-right: 9vw;
}

.service .service__news { padding: 2em; margin-bottom: 150px; text-align: center; border: 2px  #333 solid; }
.service .service__news h3 { font-size: 2em; margin-bottom: 20px; }
.service .service__news p { margin-bottom: 30px; }
.service .service__news p:last-child { margin: 0; }

.service .service__greeting { display: flex; justify-content: space-between; align-items: center; margin-bottom: 150px; }

.greeting__text {}
.service .service__greeting .greeting__text p { margin-bottom: 30px; }
.service .service__greeting .greeting__text p:last-child { margin: 0; }

.service .service__greeting-photo01 { position: relative; text-align: center; }
.service .service__greeting-photo02 { position: relative; display: flex; justify-content: space-between; margin-top: -50px; }
.service .service__greeting-photo02 .img01 { width: 600px; margin-top: 150px; position: relative; left: -50px; }
.service .service__greeting-photo02 .img02 { width: 550px; }
.service .service__greeting-photo02 .img02 figure:nth-child(1) { width: 550px; }
.service .service__greeting-photo02 .img02 figure:nth-child(2) { width: 550px; margin-top: 100px; position: relative; right: -100px; }

.service .service__greeting-cook {
	position: relative;
	width: 40%;
	padding: 2em;
	margin-top: -50px;
	color: #fff;
	background: #383B4E;
	z-index: 50;
}
.service .service__greeting-cook p { font-size: 1.4em; font-weight: bold; line-height: 1em; letter-spacing: .05em; margin-bottom: 20px; }
.service .service__greeting-cook ul { padding-left: 15px; border-left: 1px #fff solid; margin-bottom: 20px; }
.service .service__greeting-cook ul:last-child { margin-bottom: 0; }
	
.access {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 100px 0 200px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.access__flex01 { width: 40%; }
.access__flex02 { width: 50%; }
.access__flex02 .en { display: block; font-size: .9em; color: #333; letter-spacing: .1em; margin-bottom: 10px; }
.access__flex02 h2 { margin-bottom: 30px; font-size: 1.8em; letter-spacing: .1em; }
.access__flex02 h3 { margin-bottom: 20px; margin-top: 30px; font-size: 1.3em; }
.access__flex02 dl { display: flex; flex-wrap: wrap; margin-bottom: 50px; padding-bottom: 30px; border-bottom: 1px rgba(40,40,40,0.4) solid; }
.access__flex02 dl dt { width: 20%; margin-bottom: 20px; line-height: 2em; }
.access__flex02 dl dd { width: 80%; margin-bottom: 20px; line-height: 2em; }
.access__flex02 p:nth-child(5) { margin-bottom: 20px; }



/*------------------------- topics -------------------------*/

.news {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 150px 0;
	display: flex;
	justify-content: space-between;
}

.news__content { width: 100%; }

.news__content h1 { font-size: 2.5em; line-height: 2em; margin-bottom: 30px; }
.news__content h2 { font-size: 2em; line-height: 2em; margin-bottom: 20px; }
.news__content h3 { font-size: 1.5em; line-height: 2em; margin-bottom: 10px; }

.news__content ul { width: 100%; margin: 0; }
.news__content li { border-bottom: 1px rgba(30,30,30,.2) solid; }
.news__content li:first-child { border-top: 1px rgba(30,30,30,.2) solid; }
.news__content li a {
    display: flex;
	flex-wrap: wrap;
	color: #333;
    text-decoration: none;
    padding: 20px 0;
    position: relative;
	transition: .3s;
}
.news__content li a:hover {
	opacity: .6;
}
.news__content li p {
    font-size: .9em;
	letter-spacing: .1em;
    margin-right: 30px;
}
.news__content li h3 {
	margin-bottom: 0;
    font-size: 1em;
	line-height: 180%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.news__content li .icon {
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -11px;
    -webkit-transition: 0.2s ease all;
    transition: 0.2s ease all;
    width: 22px;
    height: 22px;
    border-radius: 100%;
    border: 1px solid #666;
}
.news__content li .icon:before, .news__content li .icon:after {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    -webkit-transition: 0.2s ease all;
    transition: 0.2s ease all;
    width: 6px;
    height: 9px;
    margin: auto;
    background: url(../img/common/arrow.svg) no-repeat center;
    background-size: 6px 9px;
}

.news__content .back-list-head {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 150px;
	margin-bottom: 20px;
}
.news__content .back-list-head h3 {
	font-size: 1.5em;
	color: #111;
	margin-bottom: 0;
}

.news__content .all-button {
}
.news__content .all-button a {
	position: relative;
	color: #111;
	text-decoration: none;
	padding-right: 50px;
}
.news__content .all-button a:before {
    content: "";
    position: absolute;
    right: 0;
    top: 55%;
    width: 25px;
    margin-left: -10px;
    margin-top: -1px;
    height: 1px;
    background: #666;
    z-index: 1;
    transition: .5s;
}
.news__content .all-button a:after {
    content: "";
    position: absolute;
    right: 0;
    top: 55%;
    width: 8px;
    margin-top: -1px;
    margin-left: -2px;
    height: 1px;
    background: #666;c
    z-index: 1;
    -webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    transition: .5s;
}



/*------------------------- curtain -------------------------*/

.color-curtain-white {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: url("../img/common/bg_img.jpg") center;
	z-index: 1;
}
.scroll-pos.on-02 .color-curtain-white {
	-webkit-animation: scroll-pos-out 600ms cubic-bezier(0.77, 0, 0.175, 1) both;
	animation: scroll-pos-out 600ms cubic-bezier(0.77, 0, 0.175, 1) both;
}
.scroll-pos.on-01 .color-curtain-white:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background-color: #fff;
	-webkit-animation: scroll-pos-in 500ms cubic-bezier(0.77, 0, 0.175, 1) forwards;
	animation: scroll-pos-in 500ms cubic-bezier(0.77, 0, 0.175, 1) forwards;
	-webkit-transform: translate(-100%, 0);
	transform: translate(-100%, 0);
}

@-webkit-keyframes scroll-pos-in {
	0% {
		-webkit-transform: translate(-102%, 0);
		transform: translate(-102%, 0);
	}
	100% {
		-webkit-transform: translate(0%, 0);
		transform: translate(0%, 0);
	}
}
@keyframes scroll-pos-in {
	0% {
		-webkit-transform: translate(-102%, 0);
		transform: translate(-102%, 0);
	}
	100% {
		-webkit-transform: translate(0%, 0);
		transform: translate(0%, 0);
	}
}
@-webkit-keyframes scroll-pos-out {
	0% {
		-webkit-transform: translate(0%, 0);
		transform: translate(0%, 0);
	}
	100% {
		-webkit-transform: translate(102%, 0);
		transform: translate(102%, 0);
	}
}
@keyframes scroll-pos-out {
	0% {
		-webkit-transform: translate(0%, 0);
		transform: translate(0%, 0);
	}
	100% {
		-webkit-transform: translate(102%, 0);
		transform: translate(102%, 0);
	}
}



/*------------------------- scroll event -------------------------*/

.fadein {
	-webkit-transition: all 2.5s ease;
  	-o-transition: all 2.5s ease;
  	transition: all 2.5s ease;
  	opacity: 0;
}
.fadein.active {
  	opacity: 1;
}

.fadein-left {
  	-webkit-transition: all 1.2s ease;
  	-o-transition: all 1.2s ease;
  	transition: all 1.2s ease;
  	-webkit-transform: translateX(-60px);
  	-moz-transform: translateX(-60px);
  	-ms-transform: translateX(-60px);
  	transform: translateX(-60px);
  	opacity: 0;
}
.fadein-left.active {
  	-webkit-transform: translateX(0);
  	-moz-transform: translateX(0);
  	-ms-transform: translateX(0);
  	transform: translateX(0);
  	opacity: 1;
}

.fadein-right {
  	-webkit-transition: all 1.2s ease;
  	-o-transition: all 1.2s ease;
  	transition: all 1.2s ease;
  	-webkit-transform: translateX(60px);
  	-moz-transform: translateX(60px);
  	-ms-transform: translateX(60px);
  	transform: translateX(60px);
  	opacity: 0;
}
.fadein-right.active {
  	-webkit-transform: translateX(0);
  	-moz-transform: translateX(0);
  	-ms-transform: translateX(0);
  	transform: translateX(0);
  	opacity: 1;
}

.fadein-up {
  	-webkit-transition: all 2s ease;
  	-o-transition: all 2s ease;
  	transition: all 2s ease;
  	-webkit-transform: translateY(30%);
  	-moz-transform: translateY(30%);
  	-ms-transform: translateY(30%);
  	transform: translateY(30%);
	opacity: 0;
}
.fadein-up.active {
  	-webkit-transform: translateY(0%);
  	-moz-transform: translateY(0%);
  	-ms-transform: translateY(0%);
  	transform: translateY(0%);
	opacity: 1;
}

.fadein-down {
  	-webkit-transition: all 1.2s ease;
  	-o-transition: all 1.2s ease;
  	transition: all 1.2s ease;
  	-webkit-transform: translateY(-100%);
  	-moz-transform: translateY(-100%);
  	-ms-transform: translateY(-100%);
  	transform: translateY(-100%);
	opacity: 0;
}
.fadein-down.active {
  	-webkit-transform: translateY(0%);
  	-moz-transform: translateY(0%);
  	-ms-transform: translateY(0%);
  	transform: translateY(0%);
	opacity: 1;
}

/* 20240902 */
.instagram { margin-right: 20px; }
.instagram a { display: block; }
.instagram a img { width: 150px; border-radius: 7px; }

/*------------------------- page top -------------------------*/

#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 12px;
	font-weight: bold;
	line-height: 15px;
	letter-spacing: .1em;
	text-align: center;
	z-index: 80;
}
#page-top a {
	display: block;
	width: 120px;
	padding: 12px 0px;
	color: #fff;
	text-decoration: none;
	background-color: #111;
	transition: .3s;
}
#page-top a:hover { color: #111; background-color: #fff; }