@charset "utf-8";




/* ============================================================================================
	web font
============================================================================================= */
@font-face {
	font-family:'CGothic';
	src:url('images/fonts/CGothic.ttf') format('truetype');
}
@font-face {
	font-family:'CSerif';
	src:url('images/fonts/CSerif.ttf') format('truetype');
}
@font-face {
	font-family:'uFont';
	src:url('images/fonts/UtsukushiFONT.eot?');
	src:url('images/fonts/UtsukushiFONT.woff') format('woff') ,url('images/fonts/UtsukushiFONT.otf') format('opentype');
	font-display:swap;
}


@media screen and (min-width:800px) { 
	.dispSP{
		display:none;
	}
}
@media screen and (max-width:799px) { 
	.dispPC{
		display:none;
	}
}



/* ============================================================================================
	CSS reset
============================================================================================= */
* {
	box-sizing:border-box;
	text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
	margin:0;
	padding:0;
	border:0 none;
	font-size:inherit;
	font-weight:inherit;
	font-style:inherit;
	text-decoration:inherit;
	vertical-align:inherit;
}
.bx-wrapper * {
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
}
ol ,ul ,li {
	list-style:none;
}
button ,input ,textarea ,select {
	font-size:14px;
	letter-spacing:1px;
}
button {
	padding:5px 20px;
}
a ,a:before ,a:after {
	color:inherit;
	-webkit-transition:all 0.4s ease;
	transition:all 0.4s ease;
}
a:hover {
	color:#f00;
}

img {
	vertical-align:bottom;
	max-width:100%;
	max-height:100%;
}
blockquote ,q {
	quotes:none;
}
blockquote:before ,blockquote:after
,q:before ,q:after {
	content:'';
	content:none;
}
header ,footer ,nav ,main ,article ,section ,aside {
	position:relative;
	display:block;
}

.altText {
	display:none;
}

.center {
	text-align:center;
}


/* ============================================================================================
	animation pattern
============================================================================================= */
.animeFrame {
	position:relative;
	overflow:hidden;
}
.animated:not(.free) {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	display:block;
	z-index:5;
}

@-webkit-keyframes blink {
	0%{opacity:1;} 100%{opacity:0.4;}
}
@-moz-keyframes blink {
	0%{opacity:1;} 100%{opacity:0.4;}
}
@keyframes blink{
	0%{opacity:1;} 100%{opacity:0.4;}
}




/* ============================================================================================
	body layout
============================================================================================= */
body{
	font-size:16px;
	line-height:1.6;
	font-family:"CSerif","uFont",serif;
	color:#000;
	background:url(images/common/bg.png) #e3d7c1;
}
small {
	font-size:11px;
}
.outer {
}
.inner {
	width:1000px;
	margin:0 auto;
}

.flex {
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
}


@media screen and (min-width:800px) { 
	.sp ,
	.xElement > :nth-child(2) {
		display:none;
	}
}
@media screen and (max-width:799px) { 
	.pc ,
	.xElement > :nth-child(1) {
		display:none;
	}
	body{
	}
	.inner {
		width:480px;
	}
}



/* ==============================================
	pagetoplink button
=============================================== */
#pagetopLink {
	position:fixed;
	right:10px;
	bottom:10px;
	display:none;
	width:80px !important;
	height:80px !important;
	color:#fff;
	background:#633;
	cursor:pointer;
}
#pagetopLink .flex > * {
}
@media screen and (max-width:799px) { 
	#pagetopLink {
		width:60px !important;
		height:60px !important;
	}
}
@media screen and (max-width:480px) { 
	#pagetopLink {
		right:initial;
		left:calc(480px - 60px - 10px);
	}
}



/* ============================================================================================
	header
============================================================================================= */
header #h1 {
	font-size:14px;
	color:#fff;
	background:#161513;
	border-bottom:4px solid #70000e;
}

header #header {
}
header #header #headerTel {
	line-height:1.2;
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
}
header #header #headerTel > span {
	padding-right:15px;
}

header #header > ul.flex {
	padding:15px 10px;
	justify-content:space-between;
}
header #header > ul.flex > li {
	height:100%;
}
header #header > ul.flex > li:nth-child(1) {
	text-align:left;
}
header #header > ul.flex > li:nth-child(2) {
	text-align:right;
}
header #header > ul.flex > li a.telIcon {
	display:block;
	font-size:28px;
	line-height:36px;
	padding-left:42px;
	background:url(images/icons/tel.png) 0 50% no-repeat;
	background-size:contain;
}

@media screen and (min-width:800px) { 
	header #header > ul.flex > li:nth-child(2) div {
		padding:5px 0;
	}
}
@media screen and (max-width:799px) { 
	header #header #headerTel {
		position:absolute;
		top:70px;
		height:auto;
		left:0;
		right:0;
		z-index:101;
	}

	header #header > ul.flex {
		width:480px;
		margin:0 auto;
		height:120px;
		padding:5px 15px;
	}
	header #header > ul.flex > li ,
	header #header > ul.flex > li > * {
		height:100%;
	}
	header #header > ul.flex > li:nth-child(1) {
		width:240px;
	}
	header #header > ul.flex img {
		max-height:50px;
	}

	header #header > ul.flex li#menuButton {
		display:none !important;
	}

}




/* ==============================================
	header nav
=============================================== */

	header nav ul.flex {
		padding:30px 0 60px;
		justify-content:space-evenly;
	}
	header nav ul.flex li {
		min-width:84px;
		height:100%;
	}
	header nav ul.flex li a {
		position:relative;
		display:block;
		width:100%;
		height:100%;
		color:#930;
		padding:5px 10px 15px;
		font-size:110%;
		-webkit-text-stroke:0.5px;
	}
	header nav ul.flex li a:before {
		content:"";
		position:absolute;
		left:0;
		right:0;
		bottom:0;
		z-index:-1;
		display:block;
		width:100%;
		height:20px;
		background:url(images/common/menu_arrow_hover.png) 50% 100% no-repeat;
		background-size:contain;
		opacity:0;
	}

	header nav ul.flex li.active a:before {
		background-image:url(images/common/menu_arrow.png);
		opacity:1;
	}
	header nav ul.flex li a span:nth-child(1) {
		display:none;
	}

	header nav ul.flex li.navMenu09 ,
	header nav ul.flex li.navMenu10 ,
	header nav ul.flex li.navMenu11 {
		display:none;
	}

@media screen and (min-width:800px) { 
	header nav ul.flex li:not(.active) a:hover:before {
		opacity:1;
	}
}
@media screen and (max-width:799px) { 
	header nav ul.flex {
		padding:0 10px 30px;
		flex-wrap:wrap;
	}
	header nav ul.flex li {
		width:25%;
	}
	header nav ul.flex li.navMenuSNS {
		width:25%;
	}

	header nav ul.flex li a {
		padding:10px 0 15px;
		letter-spacing:-1px;
	}

	header nav ul.flex li.navMenu12 a span:nth-child(2){
		display:inline-block;
		transform:scale(0.8 ,1.1);
		width:calc(100% / 0.8);
		margin-left:calc(-100% * 0.2 / 2);
	}
}


/* ============================================================================================
	footer
============================================================================================= */
/* ==============================================
	footer map
=============================================== */
#footerMap {
	width:100%;
	margin:0 auto;
	padding-bottom:10px;
}
#footerMap h2 {
	color:#630;
	font-size:40px;
	line-height:2em;
	text-align:center;
}
#footerMap #map {
	width:100%;
	height:30vw;
	min-height:400px;
}
@media screen and (min-width:800px) {
	#footerMap {
		min-width:1000px;
	}
}
@media screen and (max-width:799px) {
	#footerMap {
		width:480px;
		padding:0;
	}
}



/* ==============================================
	footer
=============================================== */
footer .outer {
	padding-top:30px;
	font-size:14px;
	line-height:1.6em;
	letter-spacing:1px;
	color:#eee;
	background:#161513;
	text-align:center;
}
footer .outer .inner > div {
	padding-top:30px;
}
@media screen and (max-width:799px) { 
	footer .outer {
		font-size:12px;
		padding:15px 0;
	}
	footer .outer .inner #footerInfo h2 img {
		max-width:80%;
	}
}

/* ==============================================
	footer nav
=============================================== */
footer nav {
	padding:30px;
}
footer nav ul.flex {
	color:#c96;
	justify-content:space-around;
}
footer nav ul li a span:nth-child(2) {
	display:none;
}
@media screen and (max-width:799px) { 
	footer nav {
		padding:30px 1em 0;
	}
	footer nav ul.flex {
		flex-wrap:wrap;
		justify-content:center;
	}
	footer nav ul.flex li {
		width:calc(100% / 4);
		height:45px;
		padding-top:5px;
	}
	footer nav ul.flex li a {
		width:100%;
		height:100%;
		font-size:15px;
		line-height:1.2;
		display:flex;
		justify-content:center;
		align-items:center;
	}

	footer nav ul.flex li.sp {
		display:none;
	}
}


/* ==============================================
	footer copyright
=============================================== */
footer #copyright {
	font-size:14px;
	padding:0.5em 0;
	border-top:4px solid #70000e;
	text-align:center;
}
@media screen and (max-width:799px) { 
	footer #copyright {
		font-size:12px;
		line-height:1.4em;
	}
	footer #copyright a {
		display:block;
	}
}


/* ============================================================================================
	main layout
============================================================================================= */
main > * {
	padding-bottom:60px;
}
main > * > .inner {
	padding:0 20px
}
@media screen and (max-width:799px) { 
	main {
/*
		padding-top:150px;
*/
	}
	main > * {
		padding-bottom:40px;
	}
	main > * > .inner {
		padding:0 10px
	}
}



/* ==============================================
	page title
=============================================== */
.pageTitle {
	padding:5px 10px;
	font-size:36px;
	border-bottom:2px solid #000;
	display:flex;
	justify-content:flex-start;
	align-items:baseline;
	line-height:1;
}
.pageTitle span {
	padding-right:0.5em;
}
.pageTitle span:nth-child(1) {
}
.pageTitle span:nth-child(2) {
	font-size:20px;
}

.pagePhoto {
	padding-top:30px;
	text-align:center;
}
@media screen and (max-width:799px) { 
	.pageTitle {
		font-size:26px;
		align-items:flex-end;
	}
	.pageTitle span:nth-child(2) {
		font-size:16px;
		white-space:nowrap;
	}
}


/* ============================================================================================
	01top layout
============================================================================================= */
/* ==============================================
	01top - 01
=============================================== */
#top01 .inner {
	padding:0;
	line-height:0;
}
#top01 .inner #videoFrame {
	display:block;
	width:100%;
	background:#000;
	z-index:-1;
}
/*
#top01 .inner #videoFrame:after {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	display:block;
	background:url(images/contents/01top-01dot.png);
}
*/

#top01 .inner #videoFrame #video {
	width:100%;
}


@media screen and (max-width:799px) { 
	#top01 .inner #videoFrame #video {
		width:480px;
/*
		height:270px;
*/
	}
	#top01 h2.animated {
		top:-80px;
		left:-240px;
	}
	#top01 h2.animated img {
		max-width:none;
		max-height:none;
		width:720px;
	}
	#top01 p.animated {
		top:-85px;
		left:-210px;
	}
	#top01 p.animated img {
		max-width:none;
		max-height:none;
		width:680px;
	}

}



/* ==============================================
	01top - 02
=============================================== */
#top02 .inner .flex {
	justify-content:space-between;
	flex-wrap:initial;
	align-items:stretch;
}
#top02 .inner .flex > li {
	width:48%;
}

#instaWidget {
	background:#fff;
	border-radius:5px;
}
#instaWidget h2 {
	padding:0 10px 0.2em;
	font-size:36px;
	line-height:1.4em;
	text-align:center;
}
#instaWidget .instaImages {
	padding:0 3px 3px;
}

#twitterWidget {
}
#twitterWidget iframe {
}

#tiktokLink {
	padding:20px 0 40px;
	text-align:center;
}
#tiktokLink a {
	display:inline-block;
	border:1px solid #fff;
}

@media screen and (min-width:800px) {
	#tiktokLink a:hover {
		box-shadow:0 0 10px #f00;
	}
}
@media screen and (max-width:799px) {
	#tiktokLink a:active {
		box-shadow:0 0 10px #f00;
	}

	.inner.topFlex .flex > #instaWidget {
		padding-bottom:10px !important;
	}
	.inner.topFlex #instaWidget h2 {
		padding:0.2em 0 0;
		font-size:36px !important;
	}
	#twitterWidget {
	}
}


/* ==============================================
	01top - 03
=============================================== */
#top03 .inner .flex {
}
#top03 .inner .flex li {
	padding:0 10px;
}
#top03 .inner .flex li:nth-child(1) {
	width:60%;
	text-align:left;
}
#top03 .inner .flex li:nth-child(1) h2 {
	padding:0 10px 0.2em;
	font-size:36px;
	line-height:1.4em;
	border-bottom:2px solid #000;
}
#top03 .inner .flex li:nth-child(1) h2 span {
	display:block;
	padding-left:1.5em;
}
#top03 .inner .flex li:nth-child(1) div {
	padding:20px 15px;
}
#top03 .inner .flex li:nth-child(1) div p {
	line-height:2.4em
}
#top03 .inner .flex li:nth-child(2) {
	width:40%;
}



/* ==============================================
	01top - 04
=============================================== */
#top04 .bg {
	background:url("images/contents/01top-04bg.jpg") 50% 50% no-repeat;
	background-size:cover;
}
#top04 .bg .inner {
	padding:0;
}
#top04 div.animated {
	padding:160px 40px 30px 80px;
	font-size:28px;
	line-height:1.4em;
	letter-spacing:0.01em;
	color:#fff;
	text-shadow:0 0 5px #000 ,1px 1px 0 #000;
	text-align:left;
	-webkit-text-stroke:0.5px;
}
#top04 div.animated p {
	padding-top:0.5em;
}


@media screen and (max-width:799px) { 
	#top04 h2.animated {
		top:-80px;
		left:-240px;
	}
	#top04 h2.animated img {
		max-width:none;
		max-height:none;
		width:480px;
	}
	#top04 p.animated {
		top:-20px;
		left:-30px;
	}
	#top04 p.animated img {
		max-width:none;
		max-height:none;
		width:600px;
	}

	#top04 div.animated {
		padding:80px 20px 0 40px;
		font-size:16px;
	}

}


/* ==============================================
	01top - 05
=============================================== */
#top05 .inner .flex {
	flex-direction:row-reverse;
}
#top05 .inner .flex li {
	padding:0 10px;
}
#top05 .inner .flex li:nth-child(1) {
	width:60%;
	text-align:left;
}
#top05 .inner .flex li:nth-child(1) h2 {
	padding:0 10px 0.5em;
	font-size:36px;
	line-height:1.4em;
	border-bottom:2px solid #000;
}
#top05 .inner .flex li:nth-child(1) h2 span {
	display:block;
	padding-left:1.5em;
}
#top05 .inner .flex li:nth-child(1) div {
	padding:20px 30px;
}
#top05 .inner .flex li:nth-child(1) div p {
	line-height:2.4em
}
#top05 .inner .flex li:nth-child(2) {
	width:40%;
}


/* ==============================================
	01top - 06
=============================================== */
#top06 .inner h2 {
	padding:0 10px 0.2em;
	font-size:36px;
	line-height:1.4em;
	border-bottom:2px solid #000;
	text-align:center;
}
#top06 .inner .flex {
	padding-top:20px;
}
#top06 .inner .flex li {
	padding:0 10px;
}
#top06 .inner .flex li:nth-child(1) {
	width:55%;
	text-align:left;
}
#top06 .inner .flex li:nth-child(1) div {
	padding:20px 30px;
}
#top06 .inner .flex li:nth-child(1) div p {
	line-height:2.4em
}
#top06 .inner .flex li:nth-child(2) {
	width:45%;
}


/* ==============================================
	01top - 07
=============================================== */
#top07 .inner h2 {
	padding:0 10px 0.2em;
	font-size:36px;
	line-height:1.4em;
	border-bottom:2px solid #000;
	text-align:center;
}
#top07 .inner .flex {
	padding-top:20px;
	flex-direction:row-reverse;
	align-items:flex-start;
}
#top07 .inner .flex li {
	padding:0 10px;
}
#top07 .inner .flex li:nth-child(1) {
	width:55%;
	text-align:left;
}
#top07 .inner .flex li:nth-child(1) div {
	padding:20px 30px;
}
#top07 .inner .flex li:nth-child(1) div p {
	line-height:2.4em
}
#top07 .inner .flex li:nth-child(2) {
	width:45%;
}



/* ==============================================
	01top - 08
=============================================== */
#top08 .inner .flex {
	justify-content:space-between;
	align-items:flex-start;
}
#top08 .inner .flex li {
}
#top08 .inner .flex li {
	width:50%;
	text-align:center;
}
#top08 .inner .flex li a {
	display:block;
	padding:20px;
	font-size:18px;
	line-height:1.6em;
}

@media screen and (max-width:799px) { 
	#top08 .inner .flex li a {
		display:inline-block;
		padding:10px 0;
		font-size:16px;
		text-align:center;
	}
}


#top08b .inner .flex {
	padding-top:30px;
	justify-content:space-between;
	align-items:flex-start;
}
#top08b .inner .flex li {
	width:50%;
}
@media screen and (max-width:799px) { 
	#top08b .inner .flex {
		padding-top:0;
	}
	#top08b .inner .flex li {
		padding:10px 0 !important;
	}
	#top08b .inner .flex li a img {
		width:70% !important;
	}
}

/* ==============================================
	01top - sp override
=============================================== */
@media screen and (max-width:799px) { 
	.inner.topFlex {
		padding-top:20px !important;
	}
	.inner.topFlex h2 {
		font-size:24px !important;
	}
	.inner.topFlex p {
		font-size:16px !important;
		line-height:1.8em !important;
	}
	.inner.topFlex .flex {
		padding-top:0 !important;
		flex-direction:column !important;
		flex-wrap:wrap !important;
	}
	.inner.topFlex .flex > * {
		width:100% !important;
		padding:0 10px !important;
		font-size:16px !important;
		line-height:2em !important;
	}
	.inner.topFlex .flex > *:nth-child(2) {
		padding:20px 0 !important;
		text-align:center !important;
	}
	.inner.topFlex .flex > *:nth-child(2) img {
		max-width:70% !important;
	}
}




/* ============================================================================================
	02menu layout
============================================================================================= */
/* ==============================================
	02menu - 01
=============================================== */
#menu01 {
}


/* ==============================================
	02menu - 02
=============================================== */
#menu02 {
}
#menu02 .inner .menuOuter {
	display:block;
}
#menu02 .inner .menuOuter h2 {
	padding-bottom:0.5em;
}
#menu02 .inner .menuOuter p.text {
	text-align:center;
	padding-bottom:0.5em;
}
#menu02 .inner .menuOuter p.text em {
	font-size:24px;
	line-height:2em;
}
#menu02 .inner .menuOuter ul li.flex {
	font-size:16px;
	line-height:2em;
	padding-bottom:0.5em;
}
#menu02 .inner .menuOuter ul li.flex > * {
	padding:0 20px;
}


@media screen and (max-width:799px) { 
	#menu02 .inner .menuOuter p.text {
	}
	#menu02 .inner .menuOuter p.text em {
		font-size:20px;
	}
}











/* ============================================================================================
	04gin layout
============================================================================================= */
/* ==============================================
	04gin - 01
=============================================== */
#gin01 .inner {
	line-height:0;
}
#gin01 .inner #videoFrame {
	display:block;
	width:100%;
	background:#000;
	z-index:-1;
}
/*
#gin01 .inner #videoFrame:after {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	display:block;
	background:url(images/contents/04gin-01dot.png);
}
*/
#gin01 .inner #videoFrame #video {
	width:100%;
}
#gin01.pageCatch .animeFrame .animated p.sub {
	font-size:32px;
	line-height:1.6em;
}

@media screen and (max-width:799px) { 
	#gin01 .inner #videoFrame #video {
		width:460px;
/*
		height:258px;
*/
	}
	#gin01.pageCatch .animeFrame .animated p.sub {
		font-size:16px;
		letter-spacing:-1px;
	}
}





/* ==============================================
	04gin - 02
=============================================== */
#gin02 .inner h2 {
	padding:0 10px 0.5em;
	font-size:36px;
	line-height:1.4em;
}
#gin02 .inner .flex {
	justify-content:space-between;
	flex-wrap:initial;
	align-items:flex-start;
}
#gin02 .inner .flex li {
	width:65%;
	text-align:left;
	padding:0 10px;
	font-size:16px;
	line-height:2em;
}
#gin02 .inner .flex li:nth-child(2) {
	width:35%;
	font-size:0;
}


/* ==============================================
	04gin - 03
=============================================== */
#gin03 .inner h2 {
	padding:0 10px 0.5em;
	font-size:36px;
	line-height:1.4em;
}
#gin03 .inner p {
	text-align:left;
	padding:0 10px;
	font-size:16px;
	line-height:2em;
}


/* ==============================================
	04gin - 04
=============================================== */
#gin04 {
/*
	background:url("images/contents/04gin-04bg.jpg") 50% 0 no-repeat;
*/
}
#gin04 .bg .inner {
	position:relative;
	padding:0;
}
#gin04 .bg .inner .pc .gin04-img {
	opacity:0;
}
#gin04 .bg .inner .gin04-binList.flex {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:100%;
	padding:160px 3px 30px;
	background:url("images/contents/04gin-04bgInner.jpg") 0 0 no-repeat;
}
#gin04 .bg .inner .gin04-binList .gin04-bin {
	width:142px;
	height:100%;
	padding-top:330px;
	opacity:0;
	font-size:20px;
	color:#fff;
	background:url("images/contents/04gin-04img.png") 50% 0 no-repeat;
	-webkit-transition:all 0.4s ease;
	transition:all 0.4s ease;
	cursor:pointer;
	text-align:center;
}
#gin04 .bg .inner .gin04-binList .gin04-bin.on {
	opacity:1;
}
#gin04 .bg .inner .gin04-binList .gin04-bin[data-id="gin04-bin1"] { background-position:  -3px -160px; }
#gin04 .bg .inner .gin04-binList .gin04-bin[data-id="gin04-bin2"] { background-position:-145px -160px; }
#gin04 .bg .inner .gin04-binList .gin04-bin[data-id="gin04-bin3"] { background-position:-287px -160px; }
#gin04 .bg .inner .gin04-binList .gin04-bin[data-id="gin04-bin4"] { background-position:-429px -160px; }
#gin04 .bg .inner .gin04-binList .gin04-bin[data-id="gin04-bin5"] { background-position:-571px -160px; }
#gin04 .bg .inner .gin04-binList .gin04-bin[data-id="gin04-bin6"] { background-position:-713px -160px; }
#gin04 .bg .inner .gin04-binList .gin04-bin[data-id="gin04-bin7"] { background-position:-855px -160px; }


#gin04 .bg .inner .outerWindow .innerWindow {
	position:relative;
}

#gin04-binText {
	position:absolute;
	top:20px;
	left:0;
	right:0;
	width:100%;
	padding:0 2em;
	height:60px;
	color:#fff;
	text-shadow:1px 1px 0 #000,0 0 3px #000,0 0 10px #000;
	font-size:20px;
	text-align:center;
	-webkit-transition:all 0.4s ease;
	transition:all 0.4s ease;
	opacity:0.8;
}
#gin04-binText.on {
	opacity:1;
}


#gin04 .bg .inner p {
	text-align:right;
	padding:50px 20px 200px;
	color:#fff;
	text-shadow:1px 1px 0 #000,0 0 3px #000,0 0 5px #000,0 0 10px #000;
	font-size:18px;
	line-height:2.2em;
}

@media screen and (max-width:799px) { 
	#gin04 {
		background:none;
	}
	#gin04 .bg .inner .outerWindow {
		width:100%;
		height:100%;
		position:relative;
	}
	#gin04 .bg .inner p {
		padding:20px 10px;
		font-size:16px;
		line-height:1.8em;
	}

	#gin04 .bg .inner .sp {
		width:480px;
		padding-bottom:60px;
		margin:0 auto;
	}
	#gin04 .bg .inner .sp .gin04-binList {
	}
	#gin04 .bg .inner .sp .gin04-binList li {
		position:relative;
		padding:0 20px;
	}
	#gin04 .bg .inner .sp .gin04-binList li > .gin04-img {
	}
	#gin04 .bg .inner .sp .gin04-binList li > .flex {
		position:absolute;
		top:0;
		bottom:0;
		left:0;
		right:0;
		width:100%;
		height:100%;
		padding:160px 10px 30px;
	}
	#gin04 .bg .inner .sp .gin04-binList li > .flex div {
		width:140px;
		-webkit-tap-highlight-color:rgba(0,0,0,0);
		-webkit-box-shadow:none;
		box-shadow:none;
		outline:none;
		font-size:18px;
	}
	#gin04 .bg .inner .gin04-binList .gin04-bin[data-id="gin04-bin2"] { background-position:-120px -160px; }
	#gin04 .bg .inner .gin04-binList .gin04-bin[data-id="gin04-bin3"] { background-position:-260px -160px; }
	#gin04 .bg .inner .gin04-binList .gin04-bin[data-id="gin04-bin4"] { background-position:-400px -160px; }
	#gin04 .bg .inner .gin04-binList .gin04-bin[data-id="gin04-bin5"] { background-position:-565px -160px; }
	#gin04 .bg .inner .gin04-binList .gin04-bin[data-id="gin04-bin6"] { background-position:-705px -160px; }
	#gin04 .bg .inner .gin04-binList .gin04-bin[data-id="gin04-bin7"] { background-position:-845px -160px; }

	#gin04-binText {
		top:10px;
		width:440px;
		margin:0 auto;
		padding:0 10px;
		font-size:18px;
		line-height:1.4em;
		letter-spacing:-1px;
		text-align:left;
		z-index:1000;
	}

	#gin04 .swiper-button-prev ,
	#gin04 .swiper-button-next {
		width:40px;
		height:40px;
		margin-top:-40px;
		background-size:40px 40px;
		z-index:1010;
	}
	#gin04 .swiper-button-prev {
		background-image:url(images/icons/arrow_left.png);
		left:-5px;
	}
	#gin04 .swiper-button-next {
		background-image:url(images/icons/arrow_right.png);
		right:-5px;
	}
	#gin04 .swiper-pagination-bullet {
		width:24px;
		height:24px;
		background:#000;
	}
	#gin04 .swiper-pagination-bullet-active {
		background:#333;
	}

	#gin04 .swiper-container-horizontal > .swiper-pagination-bullets {
		botttom:0;
	}
	#gin04 .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
		margin:0 8px;
	}
}



/* ==============================================
	04gin - 05
=============================================== */
#gin05 .inner {
	padding-top:60px;
}
#gin05 .inner h2 {
	padding:0 10px 0.5em;
	font-size:36px;
	line-height:1.4em;
}
#gin05 .inner .flex {
	justify-content:space-between;
	flex-wrap:initial;
	align-items:flex-start;
}
#gin05 .inner .flex li {
	width:65%;
	text-align:left;
	padding:0 30px;
	font-size:16px;
	line-height:2.2em;
}
#gin05 .inner .flex li:nth-child(2) {
	width:35%;
	font-size:0;
}


/* ==============================================
	04gin - 06
=============================================== */
#gin06 .inner {
	padding-top:20px;
}
#gin06 .inner .flex {
	flex-direction:row-reverse;
	justify-content:space-between;
	flex-wrap:initial;
	align-items:flex-start;
}
#gin06 .inner .flex li {
	width:65%;
	text-align:left;
	padding:0 30px;
	font-size:16px;
	line-height:2.2em;
}
#gin06 .inner .flex li:nth-child(1) h2 {
	padding-bottom:1em;
	font-size:36px;
}
#gin06 .inner .flex li:nth-child(2) {
	width:35%;
}



/* ==============================================
	04gin - sp override
=============================================== */
@media screen and (max-width:799px) { 
	.inner.ginFlex {
		padding-top:20px !important;
	}
	.inner.ginFlex h2 {
		font-size:24px !important;
	}
	.inner.ginFlex p {
		padding:0 20px !important;
		font-size:16px !important;
	}
	.inner.ginFlex .flex {
		padding-top:0 !important;
		flex-direction:column !important;
		flex-wrap:wrap !important;
	}
	.inner.ginFlex .flex > * {
		width:100% !important;
		padding:0 10px !important;
		font-size:16px !important;
		line-height:2em !important;
	}
	.inner.ginFlex .flex > *:nth-child(2) {
		padding:20px 0 !important;
		text-align:center !important;
	}
	.inner.ginFlex .flex > *:nth-child(2) img {
		max-width:80% !important;
	}
}




/* ============================================================================================
	05concept layout
============================================================================================= */
/* ==============================================
	05concept - 01
=============================================== */
#concept01 .inner h3 {
	padding:1em 10px 0.5em;
	font-size:36px;
	line-height:1.4em;
}
#concept01 .inner p:not(.pagePhoto) {
	text-align:left;
	padding:0 10px;
	font-size:24px;
	line-height:2em;
}
@media screen and (max-width:799px) { 
	#concept01 .inner h3 {
		font-size:18px;
		line-height:1.6em;
	}
	#concept01 .inner p:not(.pagePhoto) {
		font-size:16px;
	}
}


/* ==============================================
	05concept - 02
=============================================== */
#concept02 .inner {
	padding-bottom:40px;
}
#concept02 .inner .flex {
	flex-direction:row-reverse;
	justify-content:space-between;
	flex-wrap:initial;
	align-items:flex-start;
}
#concept02 .inner .flex li {
	width:70%;
	text-align:left;
	padding:0 10px;
	font-size:18px;
	line-height:2.8em;
}
#concept02 .inner .flex li:nth-child(1) h2 {
	padding-bottom:1em;
	font-size:36px;
}
#concept02 .inner .flex li:nth-child(2) {
	width:30%;
}

#concept02 .inner .flex img {
	aspect-ratio:4/5;
	object-fit:cover;
	object-position:0 100%;
}

/* ==============================================
	05concept - 03
=============================================== */
#concept03 .bg {
	background:url("images/contents/05concept-03bg.jpg") 50% 50% no-repeat;
	background-size:cover;
}
#concept03 .bg .inner {
	padding:30px 50px 300px;
}
#concept03 .bg .inner p strong {
	color:#fff;
	text-shadow:1px 1px 0 #000,0 0 3px #000,0 0 10px #000;
	font-size:36px;
	line-height:1.8em;
}
@media screen and (max-width:799px) { 
	#concept03 .bg .inner {
		padding:30px 20px 200px;
	}
	#concept03 .bg .inner p strong {
		font-size:26px;
		-webkit-text-stroke:0.5px;
	}
}



/* ==============================================
	05concept - 04
=============================================== */
#concept04 .inner {
	padding-top:40px;
}
#concept04 .inner h2 {
	padding:0 10px 1em;
	font-size:36px;
	line-height:1.4em;
}
#concept04 .inner .flex {
	justify-content:space-between;
	flex-wrap:initial;
	align-items:flex-start;
}
#concept04 .inner .flex li {
	width:60%;
	text-align:left;
	padding:0 30px;
	font-size:18px;
	line-height:2.4em;
}
#concept04 .inner .flex li:nth-child(2) {
	width:40%;
	padding:0 10px;
	font-size:0;
}

/* ==============================================
	05concept - 05
=============================================== */
#concept05 .inner {
	padding-top:20px;
}
#concept05 .inner .flex {
	padding-top:30px;
	flex-direction:row-reverse;
	justify-content:space-between;
	flex-wrap:initial;
	align-items:flex-start;
}
#concept05 .inner .flex li {
	width:50%;
	text-align:left;
	padding:0 20px;
	font-size:18px;
	line-height:2.2em;
}
#concept05 .inner .flex li h2 {
	padding:0 10px 20px;
	margin-bottom:20px;
	font-size:30px;
	line-height:1.4em;
	border-bottom:2px solid #000;
}



/* ==============================================
	05concept - 06
=============================================== */
#concept06 .inner {
	padding-top:20px;
}
#concept06 .inner .flex {
	padding-top:30px;
	justify-content:space-between;
	flex-wrap:initial;
	align-items:flex-start;
}
#concept06 .inner .flex li {
	width:50%;
	text-align:left;
	padding:0 20px;
	font-size:18px;
	line-height:2.2em;
}
#concept06 .inner .flex li h2 {
	padding:0 10px 20px;
	margin-bottom:20px;
	font-size:30px;
	line-height:1.4em;
	border-bottom:2px solid #000;
}



/* ==============================================
	05concept - sp override
=============================================== */
@media screen and (max-width:799px) { 
	.inner.conceptFlex {
		padding-top:20px !important;
	}
	.inner.conceptFlex h2 {
		font-size:24px !important;
	}
	.inner.conceptFlex .flex {
		padding-top:0 !important;
		flex-direction:column !important;
		flex-wrap:wrap !important;
	}
	.inner.conceptFlex .flex > * {
		width:100% !important;
		font-size:16px !important;
		line-height:2em !important;
	}
	.inner.conceptFlex .flex > *:nth-child(2) {
		padding:20px 0 !important;
		text-align:center !important;
	}
	.inner.conceptFlex .flex > *:nth-child(2) img {
		max-width:60% !important;
	}
}









/* ============================================================================================
	07access layout
============================================================================================= */

/* ==============================================
	07access - 01
=============================================== */
#access01 .inner h3 {
	text-align:center;
	font-size:40px;
	padding:60px 0 40px;
}
#access01 .inner .flex {
	flex-direction:row-reverse;
	align-items:flex-start;
}
#access01 .inner .flex > * {
	width:45%;
	padding:0 10px;
}
#access01 .inner .flex > dl {
	width:55%;
	font-size:16px;
	line-height:1.6em;
	text-align:left;
}
#access01 .inner .flex > dl dt {
	padding-top:0.3em;
	padding-left:1em;
	border-top:2px dotted #633;
}
#access01 .inner .flex > dl dd {
	padding-left:3em;
	padding-bottom:0.3em;
}
#access01 .inner .flex > dl dd:last-child {
	border-bottom:2px dotted #633;
}

@media screen and (max-width:799px) { 
	#access01 .inner h3 {
		font-size:28px;
		padding:30px 0 10px;
	}
	#access01 .inner .flex {
		flex-direction:column;
		flex-wrap:wrap;
	}
	#access01 .inner .flex > * {
		width:100% !important;
		padding:0 5px;
	}
	#access01 .inner .flex > dl {
		font-size:16px;
	}
	#access01 .inner .flex > dl dt {
		padding-left:0.5em;
	}
	#access01 .inner .flex > dl dd {
		padding-left:1.5em;
	}
	#access01 .inner .flex > *:nth-child(2) {
		width:100% !important;
		padding:20px 100px;
	}
}



/* ==============================================
	07access - 02
=============================================== */
#access02 #routeFrame {
	position:relative;
	overflow:hidden;
}
#access02 #routeFrame #footStamp {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	display:block;
	width:100%;
	height:100%;
}
#access02 #routeFrame #routePoint {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	display:block;
	width:100%;
	height:100%;
}
#access02 #routeFrame #routePoint li {
	position:absolute;
}
#access02 #routeFrame #routePoint li img {
	box-shadow:8px 8px 0 rgba(102,102,102,0.4);
}
#access02 #routeFrame #routePoint li#route1 {
	top:310px;
	right:90px;
	width:400px;
}
#access02 #routeFrame #routePoint li#route2 {
	top:545px;
	left:70px;
	width:290px;
}
#access02 #routeFrame #routePoint li#route2:after {
	content:"";
	position:absolute;
	top:-215px;
	left:-25px;
	display:block;
	width:320px;
	height:240px;
	background:url(images/contents/07map-02img3girl.png) 50% 0 no-repeat;
	background-size:contain;
}
#access02 #routeFrame #routePoint li#route3 {
	top:970px;
	right:235px;
	width:290px;
}
#access02 #routeFrame #routePoint li#route3:after {
	content:"";
	position:absolute;
	top:10px;
	right:-210px;
	display:block;
	width:320px;
	height:240px;
	background:url(images/contents/07map-02img2girl-2.png) 50% 0 no-repeat;
	background-size:contain;
}
#access02 #routeFrame #routePoint li#route4 {
	top:1420px;
	right:190px;
	width:290px;
}
#access02 #routeFrame #routePoint li#route4:after {
	content:"";
	position:absolute;
	top:30px;
	right:-220px;
	display:block;
	width:320px;
	height:375px;
	background:url(images/contents/07map-02img4girl.png) 50% 0 no-repeat;
	background-size:contain;
}
#access02 #routeFrame #routePoint li#route5 {
	top:1610px;
	left:25px;
	width:290px;
}


@media screen and (max-width:799px) {
	#access02 img {
		max-height:initial !important;
	}
	#access02 #routeFrame #routePoint li img {
		box-shadow:5px 5px 0 rgba(102,102,102,0.4);
	}
	#access02 #routeFrame #routePoint li#route1 {
		top:160px;
		right:40px;
		width:180px;
	}
	#access02 #routeFrame #routePoint li#route2 {
		top:255px;
		left:20px;
		width:150px;
	}
	#access02 #routeFrame #routePoint li#route2:after {
		top:-120px;
		left:-20px;
		width:180px;
	}
	#access02 #routeFrame #routePoint li#route3 {
		top:465px;
		right:110px;
		width:140px;
	}
	#access02 #routeFrame #routePoint li#route3:after {
		top:0px;
		right:-110px;
		width:170px;
	}
	#access02 #routeFrame #routePoint li#route4 {
		top:680px;
		right:85px;
		width:145px;
	}
	#access02 #routeFrame #routePoint li#route4:after {
		top:15px;
		right:-110px;
		width:170px;
	}
	#access02 #routeFrame #routePoint li#route5 {
		top:750px;
		left:10px;
		width:140px;
	}
}




/* ============================================================================================
	08lady layout
============================================================================================= */
.ladySection .inner {
	padding-bottom:40px;
}
.ladySection .inner .flex {
	justify-content:space-between;
	flex-wrap:initial;
	align-items:flex-start;
}
.ladySection .inner .flex li {
	width:60%;
	text-align:left;
	padding:0 20px;
	font-size:18px;
	line-height:2.4em;
}
.ladySection .inner .flex li:nth-child(1) h2 {
	font-size:32px;
	line-height:1.6em;
	padding-bottom:0.5em;
	border-bottom:2px solid #666;
}
.ladySection .inner .flex li:nth-child(1) h2 + p {
	padding-top:0.5em;
}
.ladySection .inner .flex li:nth-child(2) {
	width:40%;
}


/* ==============================================
	08lady - 02 & 04
=============================================== */
.ladySection#lady02 .inner .flex ,
.ladySection#lady04 .inner .flex {
	flex-direction:row-reverse;
}
.ladySection#lady02 .inner .flex li {
	width:55%;
}
.ladySection#lady02 .inner .flex li:nth-child(2) {
	width:45%;
}

.ladySection#lady04 .inner .flex p {
	line-height:1.8em;
}



@media screen and (max-width:799px) { 
	.ladySection .inner .flex {
		flex-direction:column !important;
		flex-wrap:wrap !important;
	}
	.ladySection .inner .flex li {
		font-size:initial !important;
		line-height:1.8em !important;
		width:100% !important;
	}
	.ladySection .inner .flex li:nth-child(1) h2 {
		padding-top:10px;
		font-size:20px !important;
		text-align:center;
	}
	.ladySection .inner .flex li:nth-child(2) {
		padding:20px 50px;
		text-align:center;
	}
}



/* ============================================================================================
	09contact layout
============================================================================================= */
#contact02 {
}
#contact02 .inner .menuOuter {
	display:block;
}
#contact02 .inner .menuOuter .flex {
	flex-direction:row-reverse;
	justify-content:space-between;
	flex-wrap:initial;
	align-items:flex-start;
}
#contact02 .inner .menuOuter .flex li {
	width:50%;
	padding:0 20px;
}
#contact02 .inner .menuOuter .flex li p {
	font-size:16px;
	line-height:2em;
	text-align:left;
	padding-bottom:20px;
}
#contact02 .inner .menuOuter .flex li p em {
	font-size:20px;
}
#contact02 .inner .menuOuter p strong {
	display:block;
	padding:30px 0;
	text-align:center;
	font-size:24px;
	line-height:1.4em;
}
@media screen and (max-width:799px) { 
	#contact02 .inner .menuOuter .flex {
		flex-wrap:wrap;
	}
	#contact02 .inner .menuOuter .flex li {
		width:100%;
	}
	#contact02 .inner .menuOuter .flex li p {
		text-align:center;
	}
	#contact02 .inner .menuOuter .flex li p em {
		font-size:20px;
	}
	#contact02 .inner .menuOuter p strong {
		font-size:20px;
	}

}


/* ============================================================================================
	10link layout
============================================================================================= */
#link01 .inner #aboutLink {
	padding:30px 50px;
}
#link01 .inner #aboutLink p {
	line-height:3em;
}
#link01 .inner #aboutLink .flex {
	flex-wrap:wrap;
	aling-items:center;
}
#link01 .inner #aboutLink .flex > * {
	width:70%;
	padding:20px 20px 0px;
	text-align:left;
}
#link01 .inner #aboutLink .flex > dt {
	width:30%;
	text-align:right;
}
@media screen and (max-width:799px) { 
	#link01 .inner #aboutLink {
		padding:20px 10px;
		font-size:14px;
	}
	#link01 .inner #aboutLink p {
		line-height:2em;
	}
}


/* ==============================================
	10link - 01 - links
=============================================== */
#link01 .inner .bannerList {
	padding:30px;
}
#link01 .inner .bannerList h3 {
	font-size:16px;
	color:#fff;
	background:#000;
	padding:3px 10px;
}
#link01 .inner .bannerList .notice {
	padding:20px;
}
#link01 .inner .bannerList .linkList {
	width:100%;
	border-collapse:collapse;
}
#link01 .inner .bannerList .linkList tr > * {
	padding:10px 20px;
	vertical-align:middle;
}
#link01 .inner .bannerList .linkList tr > th {
	text-align:right;
}
#link01 .inner .bannerList .linkList tr:hover{
	background:rgba(153,153,153,0.4);
}
@media screen and (max-width:799px) {
	#link01 .inner .bannerList {
		padding:30px 10px;
	}
	#link01 .inner .bannerList .linkList tr > * {
		padding:10px 5px;
	}
	#link01 .inner .bannerList .linkList tr > th {
		width:30%;
	}
	#link01 .inner .bannerList .notice {
		font-size:14px;
		padding:10px;
	}
}



/* ============================================================================================
	11recruit layout
============================================================================================= */
/* ==============================================
	11recruit - recruitDetails
=============================================== */
.recruitDetails {
}
.recruitDetails .inner .menuOuter {
	display:block;
}
.recruitDetails .inner .menuOuter h2 {
	padding-bottom:30px;
}
.recruitDetails .inner .menuOuter dl.flex {
	justify-content:space-between;
	flex-wrap:wrap;
	align-items:stretch;
}
.recruitDetails .inner .menuOuter dl.flex > dt {
	width:20%;
	padding:5px 10px;
	text-shadow:1px 1px 1px #000;
	background:rgba(204,153,102,0.6);
	border-bottom:1px solid #666;
}
.recruitDetails .inner .menuOuter dl.flex > dd {
	width:80%;
	padding:5px 10px;
	color:#000;
	background:rgba(255,255,255,0.9);
	border-bottom:1px solid #666;
	text-align:left;
}
@media screen and (max-width:799px) { 
	.recruitDetails .inner .menuOuter h2 {
		padding-bottom:10px;
	}
	.recruitDetails .inner .menuOuter dl.flex > dt {
		padding:5px 0;
	}
	.recruitDetails .inner .menuOuter dl.flex > dd {
		padding:5px;
	}
}



/* ==============================================
	11recruit - recruit form
=============================================== */
#recruitForm {
}
#recruitForm .inner .menuOuter {
	display:block;
}
#recruitForm .inner .menuOuter h2 {
	padding-bottom:30px;
}
#recruitForm .inner .menuOuter dl.flex {
	justify-content:space-between;
	flex-wrap:wrap;
	align-items:stretch;
}
#recruitForm .inner .menuOuter dl.flex > dt {
	position:relative;
	width:40%;
	padding:15px 10px;
	text-shadow:1px 1px 1px #000;
	background:rgba(204,153,102,0.6);
	border-bottom:1px solid #666;
	display:flex;
	align-items:center;
}
#recruitForm .inner .menuOuter dl.flex > dt > span {
	width:100%;
}
#recruitForm .inner .menuOuter dl.flex > dd {
	position:relative;
	width:60%;
	padding:15px 10px;
	color:#000;
	background:rgba(255,255,255,0.9);
	border-bottom:1px solid #666;
	text-align:left;
}
#recruitForm .inner .menuOuter dl.flex .required:after {
	content:attr(data-text);
	padding:3px 0.5em;
	font-size:14px;
	line-height:1em;
	color:#fff;
	background:rgba(255,0,0,0.6);
	border-radius:3px;
	text-align:center;
}
#recruitForm .inner .menuOuter dl.flex .error {
	display:block;
	color:#f00;
}
@media screen and (min-width:800px) { 
	#recruitForm .inner .menuOuter dl.flex .required:after {
		position:absolute;
		top:calc(50% - 10px);
		right:10px;
		display:block;
	}
}
@media screen and (max-width:799px) { 
	#recruitForm .inner .menuOuter dl.flex > dt {
		padding:15px 0px;
	}
	#recruitForm .inner .menuOuter dl.flex .required:after {
		display:inline-block;
		margin-left:0.5em;
	}
}


/* ==============================================
	11recruit - form parts
=============================================== */
#recruitForm input ,
#recruitForm select ,
#recruitForm textarea {
	padding:0.2em 0.5em;
	font-size:16px;
	border:1px solid #ccc;
	border-radius:3px;
	font-family:"メイリオ",sans-serif;
}
#recruitForm select {
/*
	padding-bottom:0.5em;
*/
}
#recruitForm input[type="submit"] {
	padding:5px 20px;
}

#recruitForm label {
	padding:0 1em;
}
#recruitForm .widthS {
	width:5em;
	max-width:90%;
}
#recruitForm .widthM {
	width:10em;
	max-width:90%;
}
#recruitForm .widthL {
	width:90%;
}
#recruitForm textarea {
	width:90%;
	height:5em;
}

#recruitForm .formButton {
	padding:20px;
	text-align:center;
}



/* ============================================================================================
	11recruit-send layout
============================================================================================= */
#recthanks01 {
}
#recthanks01 .inner .menuOuter {
	display:block;
	margin-top:30px;
}
#recthanks01 .inner .menuOuter h3 {
	font-size:24px;
	border-bottom:1px solid #fff;
	padding:10px 15px 20px;
}
#recthanks01 .inner .menuOuter p {
	padding:15px 15px 0;
}

#recthanks01 .inner .menuOuter .sendIP {
	padding-top:30px;
	color:#999;
	font-size:10px;
	line-height:1.4em;
	text-align:right;
}

@media screen and (max-width:799px) { 
	#recthanks01 .inner .menuOuter h3 {
		font-size:20px;
		padding:5px 5px 20px;
	}
	#recthanks01 .inner .menuOuter p {
		padding:15px 5px 0;
	}
}














/* ============================================================================================
	information list
============================================================================================= */
.infoList {
	padding:0 20px;
}
.infoList li {
	margin-top:30px;
	padding:20px;
	background:rgba(255,255,255,0.4);
	border-radius:10px;
	box-shadow:0 0 5px #666;
}
.infoList li h2.flex {
	padding:0.3em 0.5em;
	color:#fff;
	background:#000;
	font-size:24px;
	flex-direction:column;
	justify-content:space-between;
	align-items:flex-start;
	text-align:left;
}
.infoList li h2.flex > span:nth-child(2) {
	width:100%;
	font-size:16px;
	text-align:right;
}
.infoList li h2.flex > span.new:before {
	content:"NEW";
	display:inline-block;
	padding:0 0.5em;
	margin-right:0.5em;
	font-size:20px;
	color:#fff;
	background:#c00;
}
.infoList li h2.flex > span > span.newItem:before {
	content:"新入荷";
	display:inline-block;
	padding:0 0.5em;
	margin-right:0.5em;
	font-size:20px;
	color:#fff;
	background:#90c;
}


.infoList li div.infoImage {
	padding-top:30px;
	text-align:center;
}
.infoList li div.infoImage img {
	max-width:50%;
}
.infoList li div.infoText {
	font-size:16px;
	line-height:1.4em;
	padding:30px 50px;
}
@media screen and (max-width:799px) { 
	.infoList {
		padding:0;
	}
	.infoList li {
		margin-top:20px;
		padding:10px;
		border-radius:5px;
	}
	.infoList li h2.flex {
		font-size:20px;
		flex-wrap:wrap;
	}
	.infoList li h2.flex > span:nth-child(2) {
		width:100%;
		font-size:12px;
		line-height:1em;
		text-align:right;
	}
	.infoList li h2.flex > span.new:before {
		font-size:14px;
		vertical-align:bottom;
	}
	.infoList li h2.flex > span > span.newItem:before {
		font-size:14px;
		vertical-align:bottom;
	}
	.infoList li div.infoImage {
		padding-top:10px;
	}
	.infoList li div.infoText {
		font-size:16px;
		padding:20px 10px 10px;
	}

}



/* ==============================================
	pageLinks
=============================================== */
.pageLinks {
	padding:10px 30px;
	text-align:right;
	font-size:16px;
}
.pageLinks a.active {
	color:#f00;
}

@media screen and (max-width:799px) { 
	.pageLinks {
		padding:10px 0;
	}
	.pageLinks a {
		padding-right:0.5em;
	}
}




/* ============================================================================================
	menu list
============================================================================================= */
/* ==============================================
	seletor
=============================================== */
#menuSelector.flex {
	padding:50px 0;
	justify-content:space-around;
}
#menuSelector.flex li {
	padding:0 0.5em;
	font-size:30px;
	color:#600;
	border-bottom:4px solid transparent;
	cursor:pointer;
	-webkit-transition:all 0.4s ease;
	transition:all 0.4s ease;
}
#menuSelector.flex li.on {
	border-bottom:4px solid #900;
}
#menuSelector.flex li:not(.on):hover {
	border-bottom:4px solid #c00;
}

@media screen and (max-width:799px) { 
	#menuSelector.flex li {
		padding:0 0.3em;
		font-size:20px;
		border-bottom:2px solid transparent;
	}
	#menuSelector.flex li.on {
		border-bottom:2px solid #900;
	}
	#menuSelector.flex li:not(.on):hover {
		border-bottom:2px solid #c00;
	}
}



/* ==============================================
	menu board
=============================================== */
.menuOuter {
	width:100% !important;
	height:auto !important;
	padding:15px !important;
	background:rgba(34,17,17,0.6);
	display:none;
}
.menuOuter .menuInner {
	padding:20px;
	color:#fff;
	background:rgba(34,17,17,0.3);
	border:2px solid #fff;
}

.menuOuter .menuInner h2 {
	font-size:40px;
	line-height:1.2em;
	text-align:center;
	padding-bottom:50px;
}
.menuOuter .menuInner h2 span {
	display:block;
	font-size:16px;
	line-height:1.2em;
}

.menuOuter .menuInner .menuSubCate {
	padding-bottom:30px;
}
.menuOuter .menuInner .menuSubCate h3 {
	font-size:30px;
	line-height:1.2em;
	text-align:center;
}
.menuOuter .menuInner .menuSubCate h3 span {
	display:block;
	font-size:12px;
	line-height:1.2em;
}

.menuOuter .menuInner .menuSubCate ul.menuList.flex {
	justify-content:flex-start;
	align-items:stretch;
	flex-wrap:wrap;
	padding-bottom:20px;
}
.menuOuter .menuInner .menuSubCate ul.menuList.flex li {
	width:31.3%;
	margin:30px 1% 0;
	padding:5px 3px;
	border-top:2px dotted #ccc;
	border-bottom:2px dotted #ccc;
}

.menuOuter .menuInner .menuSubCate ul.menuList.flex li p.name {
	text-align:left;
	font-size:16px;
	line-height:1.2em;
	height:2.4em;
}

.menuOuter .menuInner .menuSubCate ul.menuList.flex li p.value {
	text-align:right;
	font-size:14px;
	padding:0 10px;
}

.menuOuter .menuInner .menuSubCate ul.menuList.flex li p.value span {
	display:inline-block;
	width:49.5%;
	text-align:left;
}
.menuOuter .menuInner .menuSubCate ul.menuList.flex li p.value span.price {
	width:60%;
	text-align:right;
}

.menuOuter .menuInner .menuSubCate ul.menuList.flex li p.value span.price:before ,
.menuOuter .menuInner .menuSubCate ul.menuList.flex li p.value span.single:before ,
.menuOuter .menuInner .menuSubCate ul.menuList.flex li p.value span.double:before {
	display:inline-block;
	padding:0 5px;
	margin-right:5px;
	font-size:10px;
	line-height:1.6em;
}
.menuOuter .menuInner .menuSubCate ul.menuList.flex li p.value span.price:before {
	content:"PRICE";
	background:#600;
}
.menuOuter .menuInner .menuSubCate ul.menuList.flex li p.value span.single:before {
	content:"SINGLE";
	background:#300;
}
.menuOuter .menuInner .menuSubCate ul.menuList.flex li p.value span.double:before {
	content:"DOUBLE";
	background:#900;
}

@media screen and (max-width:799px) { 
	.menuOuter {
		padding:10px !important;
	}
	.menuOuter .menuInner {
		padding:10px;
	}

	.menuOuter .menuInner h2 {
		font-size:24px;
		padding-bottom:30px;
	}
	.menuOuter .menuInner h2 span {
		font-size:16px;
	}

	.menuOuter .menuInner .menuSubCate h3 {
		font-size:20px;
	}
	.menuOuter .menuInner .menuSubCate ul.menuList.flex li {
		width:48%;
		margin:15px 1% 0;
	}
	.menuOuter .menuInner .menuSubCate ul.menuList.flex li p.name {
		font-size:14px;
	}
	.menuOuter .menuInner .menuSubCate ul.menuList.flex li p.value span {
		width:100% !important;
		text-align:right !important;
	}
}




/* ==============================================
	catch
=============================================== */
.pageCatch {
}
.pageCatch .animeFrame {
}
.pageCatch .animeFrame .animated {
	padding:15px 30px;
	color:#fff;
	text-shadow:0 0 5px #000,1px 1px 0 #000;
	text-align:left;
}
.pageCatch .animeFrame .animated h3 {
	font-size:96px;
	line-height:1em;
	letter-spacing:0.05em;
	padding-bottom:0.3em;
}
.pageCatch .animeFrame .animated h3 span.small {
	padding-left:0.5em;
	font-size:36px;
	line-height:1em;
}
.pageCatch .animeFrame .animated p {
	font-size:18px;
	line-height:2em;
	letter-spacing:0.05em;
}
.pageCatch .animeFrame .animated p.sub {
	padding-top:0.5em;
	font-size:32px;
	-webkit-text-stroke:0.5px;
	line-height:1.2em;
	letter-spacing:0.01em;
}
.pageCatch .animeFrame .animated p.text {
	padding-top:3em;
}

@media screen and (max-width:799px) { 
	.pageCatch .animeFrame .animated {
		padding:10px 15px 0;
	}
	.pageCatch .animeFrame .animated h3 {
		font-size:40px;
	}
	.pageCatch .animeFrame .animated h3 span.small {
		font-size:18px;
	}
	.pageCatch .animeFrame .animated p {
		line-height:1.6em;
		font-size:14px;
		letter-spacing:-1px;
	}
	.pageCatch .animeFrame .animated p.sub {
		font-size:18px;
	}
	.pageCatch .animeFrame .animated p.text {
		padding-top:1em;
	}
}


/* ==============================================
	YouTube
=============================================== */
.infoList#youtube .infoText {
	text-align:center;
}
@media screen and (max-width:799px) { 
	.infoList#youtube .infoText > * {
		width:100% !important;
		height:240px !important;
	}
}




/* ==============================================
	footer SNS icons
=============================================== */
footer #snsLinks {
	padding-top:20px;
	display:flex;
	justify-content:center;
}
footer #snsLinks > div {
	width:60px;
	margin:0 10px;
}
footer #snsLinks > div a {
	display:inline-block;
	-webkit-transition:all 0.2s ease;
	transition:all 0.2s ease;
	border-radius:8px;
}
footer #snsLinks > div a img {
	border-radius:8px;
}
footer #snsLinks > div a:hover {
	box-shadow:0 0 5px #fff;
}





/* ==============================================
	2023.2.6
	fruits cocktail
=============================================== */
#f-cocktail01 {
}

#f-cocktail01.pageCatch .animeFrame .animated h3 {
	font-size:64px;
	line-height:1.6;
}
#f-cocktail01.pageCatch .animeFrame .animated h3 span.small {
	display:block;
	padding-left:0;
	font-size:32px;
}
#f-cocktail01.pageCatch .animeFrame .animated p.sub {
	padding-top:2em;
	font-size:28px;
}

#f-cocktail02 h2 {
	font-size:32px;
	line-height:1.6em;
	padding:0 1em 0.3em;
	border-bottom:2px solid #666;
}
#f-cocktail02 .message {
	text-align:left;
	padding:1em 2em;
	font-size:20px;
	line-height:2em;
}

#f-cocktail03 .swiper-outer {
	padding:0 30px;
}

#f-cocktail03 p {
	text-align: center;
	padding:1.5em 1em;
	font-size:22px;
	line-height:2em;
}


@media screen and (max-width:799px) { 
	#f-cocktail01.pageCatch .animeFrame .animated h3 {
		font-size:36px;
	}
	#f-cocktail01.pageCatch .animeFrame .animated h3 span.small {
		font-size:24px;
	}
	#f-cocktail01.pageCatch .animeFrame .animated p.sub {
		font-size:18px;
	}

	#f-cocktail02 h2 {
		font-size:24px;
		padding:0 0 0.3em;
		text-align:center;
	}
	#f-cocktail02 .message {
		padding:1em;
		font-size:18px;
	}

	#f-cocktail03 .swiper-outer {
		padding:0;
	}
	#f-cocktail03 p {
		font-size:20px;
	}
}


}

