@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;700&display=swap');


/* --------- web fonts --------------------------- */
@font-face {
	font-family:'CGothic';
	src:url('images/CGothic.ttf') format('truetype');
}
@font-face {
	font-family:'CSerif';
	src:url('images/CSerif.ttf') format('truetype');
}



/* --------- initialize --------------------------- */
* {
	margin:0;
	padding:0;
	border:0 none;
	box-sizing:border-box;
	font-size:inherit;
	font-weight:inherit;
	font-family:inherit;
	font-style:inherit;
	color:inherit;
	text-decoration:inherit;
	-webkit-text-size-adjust:100%;
/*
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
*/
}
ol,ul,li {
	list-style:none;
}
img {
	max-width:100%;
}
.anchorLink {
	cursor:pointer;
}


/* --------- animation settings --------------------------- */
@-webkit-keyframes blink {
	0%   {opacity:1;}
	100% {opacity:0;}
}
@keyframes blink {
	0%   {opacity:1;}
	100% {opacity:0;}
}
@keyframes marquee {
	from   { transform:translate(0%);}
	99%,to { transform:translate(-100%);}
}
@-webkit-keyframes marquee {
	from   { -webkit-transform:translate(0%);}
	99%,to { -webkit-transform:translate(-100%);}
}


/* --------- common layout --------------------------- */
body{
	font-size:14px;
	color:#2f2725;
	background:#fff;
	font-family:"Noto Serif JP",serif;
}
#outer {
	width:100%;
	min-width:1200px;
	margin:0 auto;
}

.inner {
	width:1200px;
	margin:0 auto;
	padding:0 10px;
}

main {
	padding-top:150px;
}
main .inner {
	padding:0 30px;
}
section ,aside {
	padding:40px 0;
}

#lightbox {
	position:fixed;
	top:50% !important;
	left:50% !important;
	-webkit-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
}


@media screen and (min-width:800px) { 
	main {
		padding-top:75px;
	}
	.inner {
		max-width:100%;
	}
	.sp {
		display:none !important;
	}
}
@media screen and (max-width:799px) { 
	#outer {
		width:480px;
		min-width:unset;
	}
	.inner {
		width:480px;
	}
	.pc {
		display:none !important;
	}
	main .inner {
		padding:0 15px;
	}

}

.bg1 {
	background:url(images/common/bg1.png) 50% 0 repeat;
}
.bg2 {
	background:url(images/common/bg2.png) 50% 0 repeat;
}
.bg3 {
	background:url(images/common/bg3.png) 50% 0 repeat;
}
.bg4 {
	background:url(images/common/bg4.png) 50% 0 repeat;
}



/* --------- header layout --------------------------- */
header {
	position:fixed;
	top:0;
	left:0;
	right:0;
	background:#fff;
	z-index:9001;
}
@media screen and (min-width:800px) { 
	header {
		height:70px;
	}
}

/* --------- header inner ------------------ */
#headerLinks {
	width:100%;
	box-shadow:0 1px 5px 1px #666;
}
#headerLinks > ul {
	height:80px;
	position:relative;
	text-align:center;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
#headerLinks > ul li {
	text-align:left;
}
#headerLinks > ul li img {
	max-height:100%;
}

#headerLinks > ul li#headerMenu {
	width:50px;
	padding:10px 15px 14px 5px;
	text-align:right;
	display:flex;
	align-items:center;
	cursor:pointer;
}
@media screen and (min-width:800px) { 
	#headerLinks {
		min-width:1200px;
		height:70px;
	}
	#headerLinks > ul {
		height:70px;

	}
	#headerLinks > ul li {
		height:68px;
	}
	#headerLinks > ul li#headerMenu {
		width:80px;
	}
}


#snsMenu {
	padding:0 10px;
}
#snsMenu a {
	display:block;
}
#snsMenu a img{
	height:50px;
}
@media screen and (max-width:799px) { 
	#headerLinks ul {
		padding:2px 0;
	}
	#headerLinks ul li.logo {
		flex-grow:1;
		height:100%;
		padding-left:calc(60px + 50px - 35px);
		text-align:center;
		overflow:hidden;
	}
	#headerLinks ul li.logo img {
		height:100%;
	}
}



/* --------- header menu icon --------- */
#menuIcon {
	position:relative;
	width:100%;
	height:4px;
	background:#2f2725;
	border-radius:2px;

	-webkit-transform:rotate(0deg);
	transform:rotate(0deg);
	-webkit-transition:.2s ease-out;
	transition:.2s ease-out;
	opacity:.8;
}
#menuIcon:before ,
#menuIcon:after {
	content:"";
	position:relative;
	display:block;
	width:100%;
	height:4px;
	background:#2f2725;
	border-radius:2px;
	-webkit-transform:rotate(0deg);
	transform:rotate(0deg);
	-webkit-transition:.2s ease-out;
	transition:.2s ease-out;
}
#menuIcon:before {
	top:-10px;
}
#menuIcon:after {
	bottom:-6px;
}
#menuIcon span {
	display:none;
}

.menuOpen #menuIcon {
	background:transparent;
}
.menuOpen #menuIcon:before {
	top:50%;
	-webkit-transform:rotate(-225deg);
	transform:rotate(-225deg);
}
.menuOpen #menuIcon:after {
	bottom:50%;
	-webkit-transform:rotate(225deg);
	transform:rotate(225deg);
}



/* --------- header tellink ------------------ */
#headerTelLink {
	max-width:480px;
	margin:0 auto;
	padding:0 0.5em 0.5em;
	text-align:center;
	display:flex;
	justify-content:space-evenly;
	gap:0.5em;
}
#headerTelLink a {
	flex-grow:1;
	font-size:20px;
	line-height:1.6;
	font-family:"CSerif",serif;
	color:#fff;
	background:linear-gradient(#5f4745, #1f0705) #2f2725;
	border-radius:5px;
}

/* --------- header marquee ------------------ */
#headerMaquee {
	height:30px;
	line-height:30px;
	font-size:16px;
	color:#fff;
	background:linear-gradient(#5f4745, #1f0705) #2f2725;
	overflow:hidden;
}
#headerMaquee ul {
	display:inline-block;
	white-space:nowrap;
}
#headerMaquee ul li {
	display:inline-block;
	padding-left:300px;
}



/* --------- header marquee overwrite --------- */
@media screen and (min-width:800px) { 

}



/* --------- header navigation ------------------ */
@media screen and (max-width:799px) { 
	#headerNav {
		position:fixed;
		top:0;
		bottom:0;
		left:100%;
		width:100%;
		z-index:-1;
		padding-top:145px;
		overflow:hidden;

		background:rgba(255,255,255,0.9);
		backdrop-filter:blur(4px);
		-webkit-transition:.2s ease-out;
		transition:.2s ease-out;
	}

	.menuOpen #headerNav {
		left:0;
	}

	#headerNav ul {
	}
	#headerNav ul li {
		padding:5px;
		border-bottom:1px solid #666;
		text-align:right;
	}
	#headerNav ul li a {
		padding:10px 30px;
		font-size:20px;
		display:flex;
		align-items:center;
		justify-content:flex-end;
	}
	#headerNav ul li a > span {
		padding-right:0.3em;
	}
	#headerNav ul li a:after {
		content:"＞";
		font-weight:bold;
		color:#999;
		width:2em;
		padding-left:1em;
		background:url(images/icons/keyhole.png) 0 50% no-repeat;
		background-size:contain;
	}
	#headerNav ul li.active a:after {
		background-image:url(images/icons/key.png);
	}
	#headerNav ul li a .ja {
		display:none;
	}

}


@media screen and (min-width:800px) { 
	#headerNav {
		height:70px;
	}
	#headerNav ul {
		border-left:1px solid #ccc;
		display:flex;
		justify-content:space-between;
		align-items:center;
	}

	#headerNav ul li {
		width:140px;
		border-right:1px solid #ccc;
		text-align:center;
	}
	#headerNav ul li.navMenu06 {
		display:none;
	}
	#headerNav ul li a {
		height:70px;
		color:#3b0056;
		font-size:16px;
		display:flex;
		justify-content:center;
		align-items:center;
		-webkit-transition:background 0.3s ease;
		transition:background 0.3s ease;
	}
	#headerNav ul li a:before {
		content:"";
		width:1.2em;
		height:2em;
		background:url(images/icons/keyhole.png) 50% 50% no-repeat;
		background-size:contain;
	}
	#headerNav ul li a > span {
		line-height:1.6;
		padding:0 0.2em;
		font-family:"CSerif",serif;
		display:flex;
		justify-content:center;
		align-items:center;
		flex-direction:column;
	}
	#headerNav ul li a > span > span:nth-child(1) {
	}
	#headerNav ul li a > span > span:nth-child(2) {
		font-size:80%;
	}
	#headerNav ul li a:hover {
		background:rgba(255,240,204,0.2);
	}
	#headerNav ul li.active a {
		background:rgba(255,240,204,0.2);
	}
	#headerNav ul li.active a:before {
		background-image:url(images/icons/key.png);
	}
}








/* --------- contents blocks --------------------------- */
#indexHtmlBody main h2 {
	padding-bottom:0.8em;
	loine-height:1.2;
	font-size:40px;
	font-family:"CSerif",serif;
}

h2.pageH2 {
	text-align:center;
	overflow:hidden;
	padding-bottom:40px;
	color:#3b0056;
	text-shadow:1px 1px 0 #fff;
	font-weight:bold;
	font-family:"CSerif",serif;
	display:flex;
	justify-content:center;
	align-items:center;
}
h2.pageH2 > span {
	padding:1em;
	line-height:1.4;
	display:flex;
	align-items:center;
	flex-direction:column;
}
h2.pageH2 .en {
	font-size:36px;
	letter-spacing:0.05em;
}
h2.pageH2 .ja {
	font-size:16px;
	letter-spacing:1px;
}
h2.pageH2:before ,
h2.pageH2:after {
	content:"";
	flex-grow:1;
	height:2px;
	background:linear-gradient(-90deg,#3b0056,transparent);
}
h2.pageH2:after {
	background:linear-gradient(90deg,#3b0056,transparent);
}
@media screen and (min-width:800px) { 
	h2.pageH2 > .en {
		font-size:42px;
	}
	h2.pageH2 > .ja {
		font-size:20px;
	}
}


.nextLink {
	text-align:right;
	color:#fc0;
}

.squareBox {
	aspect-ratio:1/1;
	border:1px solid #999;
	display:flex;
}
.squareBox img {
	display:block;
	width:100%;
	aspect-ratio:1/1;
	object-fit:cover;
}



/* --------- section color (top page) ------------------ */

#indexHtmlBody section#recruitStaff {
	padding:40px 0 0;
}
#indexHtmlBody section#recruitGirls {
	background:rgba(0,0,0,0.2);
	padding:20px 0 20px;
}
#indexHtmlBody section#recruitStaff .infoBloc ,
#indexHtmlBody section#recruitGirls .infoBloc {
	margin:0 auto;
}
#indexHtmlBody section#recruitStaff .infoBloc a:hover img ,
#indexHtmlBody section#recruitGirls .infoBloc a:hover img {
	-webkit-transition:.2s ease;
	transition:.2s ease;
	box-shadow:0 0 5px 3px #ccc;
}


/* --------- video block ------------------ */
#video {
	width:100%;
	padding:10px 0;
}
#video .inner {
	padding:0;
}
#video .inner #videoFrame {
	display:block;
	width:100%;
}
@media screen and (min-width:800px) { 
	#video .inner #videoFrame {
		width:80%;
		margin:auto;
	}
}



/* --------- concept block ------------------ */
#concept p {
	padding:0 1em;
	font-size:18px;
	line-height:1.8;
}
#concept p + p {
	padding-top:1em;
}

@media screen and (min-width:800px) { 
	#concept p {
		font-size:20px;
		text-align:center;
	}
}


/* --------- photos block ------------------ */
#photos ul#photoList {
	padding:0 1em;
}
#photos ul#photoList li {
	padding-bottom:15px;
}
#photos ul#photoList li span {
	display:flex;
	justify-content:center;
	align-items:center;
}
#photos ul#photoList li span img {
	max-width:none;
}
#photos ul#photoList li img {
	border:1px solid #333;
}
@media screen and (min-width:800px) { 
	#photos ul#photoList {
		display:flex;
		justify-content:space-around;
		align-items:center;
		flex-wrap:wrap;
	}
	#photos ul#photoList li {
		width:30%;
		padding-top:15px;
	}
}




/* --------- cast block ------------------ */
#cast ul.castList {
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;
}
#cast ul.castList li {
	width:32.3%;
	margin:0.2em 0.5%;
	padding:3px;
	color:#eff;
	background:linear-gradient(rgba(153,153,153,0.6), rgba(0,0,0,0.9));
	border:1px solid #666;
	cursor:pointer;
	-webkit-transition:.2s ease;
	transition:.2s ease;
}
#cast ul.castList li:hover {
	box-shadow:0 0 5px 3px #fff;
	filter:brightness(1.1);

}
#cast ul.castList li span {
	display:block;
	width:100%;
}
#cast ul.castList li span.castImage {
	display:flex;
	justify-content:center;
	align-items:center;
}
#cast ul.castList li span.castImage img {
	max-height:100%;
	border:1px solid #666;
}
#cast ul.castList li span.castKana {
	padding-left:5px;
	font-size:13px;
	line-height:1.4em;
	color:#feef;
}
#cast ul.castList li span.castName {
	padding-left:5px;
	font-size:15px;
	line-height:1.6em;
}

@media screen and (min-width:800px) { 
	#cast ul.castList {
		padding:0 1em;
	}
	#cast ul.castList li {
		width:19%;
		margin:0.5em 0.5%;
	}
	#cast ul.castList li span.castKana {
		padding-left:10px;
	}
	#cast ul.castList li span.castName {
		padding-left:10px;
		font-size:16px;
	}
}
@media screen and (min-width:1000px) { 
	#cast ul.castList li span.castName {
		font-size:18px;
	}
}
@media screen and (min-width:1200px) { 
	#cast ul.castList li span.castName {
		font-size:20px;
	}
}



/* --------- instagram block ------------------ */
#instagramOuter {
	padding:15px;
}
#instagramInner {
	position:relative;
	border-radius:5px;
	overflow:hidden;
}
#instagramInner:before {
	content:"";
	position:relative;
	display:block;
	width:100%;
	padding-top:100%;
	height:0;
	background:#fff;
	border:1ps solid #999;
	border-radius:5px;
}
#instagramInner iframe ,
#instagramInner div {
	position:absolute;
	top:2%;
	left:2%;
	width:calc(100% - 4%) !important;
	height:calc(100% - 4%) !important;
}
@media screen and (max-width:799px) { 
}




/* --------- access block ------------------ */
#access  iframe {
	width:100%;
	aspect-ratio:2/1;
	padding:1em;
	border:1px solid #ccc;
}
@media screen and (min-width:800px) { 
}




/* --------- profile page --------------------------- */
#castPager {
	width:100%;
	padding-top:0;
}
#castPager ul {
	display:flex;
	justify-content:center;
	padding:10px;
	background:#2f2725;
}
#castPager li {
}
#castPager li a {
	display:block;
	color:#eee;
	padding:0.5em 1em;
}
#castPager li:nth-child(2) a {
	padding:0.5em 2.5em;
	border:1px solid #999;
}

#castPager li a:hover {
	color:#fff;
}
#castPager li:nth-child(2) a:hover {
	background:#666;
}



#profileFrame {
	width:100%;
	padding:0 10px;
}
#profileFrame #profInfo {
	padding-top:30px;
}
#profileFrame #profInfo h3 {
	padding-bottom:20px;
	text-align:center;
}
#profileFrame #profInfo h3 span {
	display:block;
	padding:5px;
	font-size:18px;
}
#profileFrame #profInfo h3 span:nth-child(1) {
	color:#c00;
	font-size:32px;
	border-bottom:2px solid #c99;
}
#profileFrame #profInfo h3 span:nth-child(2) {
	letter-spacing:0.1em;
	text-indent:0.1em;
}
#profileFrame table {
	padding:0 15px;
	margin:0 auto;
	font-size:14px;
	line-height:1.6em;
}
#profileFrame table th {
	padding:0.5em 1em;
	color:#6cf;
	text-align:center;
}
#profileFrame table td {
	padding:0.5em 1em;

}

#profileFrame #profPhoto {
}
#profileFrame #profPhoto img {
	border:1px solid #666;
}



#profThumbs {
	padding:3px;
	background:#000;
	border:1px solid #c90;
	display:flex;
	justify-content:flex-start;
	align-items:center;
	flex-wrap:wrap;
}
#profThumbs li {
	width:25%;
	padding:3px;
}
#profThumbs li img {
	border:1px solid #666;
}



#profileFrame #profInsta {
	padding-top:30px;
}
#profileFrame #profInsta h3 {
	padding-bottom:20px;
	text-align:center;
}
#profileFrame #profInsta h3 span {
	display:block;
	padding:5px;
	font-size:24px;
	border-bottom:1px solid #ccc;
}





@media screen and (min-width:800px) { 
	#castPager ul {
		padding:20px 10px;
	}
	#castPager li a {
		padding:0.5em 2em;
	}
	#castPager li:nth-child(2) a {
		padding:0.5em 2.5em;
	}

	#profileFrame {
		width:800px;
		margin:auto;
		justify-content:space-around;
		align-items:flex-start;
	}
	#profileFrame #profInfo h3 span {
		padding:5px 10px;
	}
	#profileFrame #profInfo h3 span:nth-child(1) {
	}
	#profileFrame table {
		font-size:16px;
	}

	#profileHtmlBody #instagramOuter {
		width:800px;
		padding:30px 10px;
		margin:auto;
	}
}






/* --------- system page ------------------ */
#system li dl {
	padding:0 20px;
	font-size:14px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
	text-align:center;
}
#system li dl dt {
	text-align:left;
	width:240px;
}
#system li dl dd {
	text-align:right;
	width:calc(100% - 240px);
}

#system_notes {
	max-width:1000px;
	margin:auto;
	padding-top:30px;
	display:flex;
	justify-content:space-around;
	align-items:flex-start;
	flex-wrap:wrap;
}
#system_notes dl {
	width:90%;
	padding-bottom:20px;
	display:flex;
	flex-wrap:wrap;
	font-size:13px;
	line-height:1.6em;
}
#system_notes dl dt {
	width:7.5em;
	color:#c00;
	padding-bottom:5px;
}
#system_notes dl dd {
	width:calc(100% - 8em);
	padding-bottom:5px;
}

#system_notes img {
	width:90%;
	margin:auto;
	border:1px solid #666;
}

@media screen and (max-width:799px) { 
	#system {
		padding:20px 40px;
		border-top:1px solid #c90;
		border-bottom:1px solid #c90;
	}
	#system li {
		padding:15px 0;
		color:#eee;
		border-top:1px solid #999;
	}
	#system li:nth-child(1) {
		padding-top:0;
		border-top:0 none;
	}
	#system li h3 {
		font-size:24px;
		color:#c00;
		text-align:center;
		padding-bottom:20px;
	}
	#system li h3 span {
		display:block;
	}
	#system li h3 span:nth-child(2) {
		font-size:16px;
	}

}
@media screen and (min-width:800px) { 
	#system {
		max-width:1000px;
		margin:auto;
		padding-bottom:40px;
		display:flex;
		justify-content:space-around;
	}
	#system li {
		width:30%;
		padding:30px 0;
		color:#eee;
		background:rgba(0,0,0,0.8);
		border:1px solid #ccc;
	}
	#system li h3 {
		height:100px;
		font-size:28px;
		color:#c00;
		text-align:center;
		display:flex;
		flex-direction:column;
	}
	#system li h3 span {
		display:block;
	}
	#system li h3 span:nth-child(2) {
		font-size:18px;
	}

	#system li dl {
		font-size:12px;
	}
	#system li dl dt {
		text-align:left;
		width:110px;
	}
	#system li dl dd {
		text-align:right;
		width:calc(100% - 110px);
	}

	#system_notes {
		padding-top:0;
	}
	#system_notes dl {
		width:60%;
		padding:0;
	}
	#system_notes img {
		width:35%;
		margin:initial;
	}
}
@media screen and (min-width:1000px) { 
	#system_notes dl {
		font-size:14px;
	}
	#system li dl {
		padding:0 30px;
		font-size:14px;
	}
	#system li dl dt {
		width:130px;
	}
	#system li dl dd {
		text-align:right;
		width:calc(100% - 130px);
	}
}




/* --------- system page (custom) ------------------ */
#systemFlex {
	padding:0 20px 30px;
	font-size:14px;
}
.systemCell {
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	text-align:center;
	background:rgba(255,255,255,0.8);
	border:1px solid #999;
	padding:5px;
}
.systemCell > h3 {
	width:32.5%;
	font-size:180%;
	color:#c00;
}
.systemCell > h3 span {
	display:block;
	font-size:70%;
}
.systemCell > dl {
	width:30%;
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
}
.systemCell > dl > dt {
	width:60%;
	text-align:left;
}
.systemCell > dl > dd {
	width:40%;
	text-align:right;
}
.systemCell > div {
	width:37.5%;
	padding-left:1.5em;
	font-size:90%;
	color:#c66;
	text-align:left;
}

@media screen and (max-width:799px) { 
	.systemCell {
		padding:0.5em 1em 1em;
		flex-direction:column;
	}
	.systemCell > h3 {
		width:100%;
	}
	.systemCell > dl {
		width:100%;
	}
	.systemCell > div {
		width:100%;
		margin:1em 0 0;
		padding:0.3em;
		font-size:85%;
		border:1px solid #999;
		text-align:center;
	}
}





/* --------- access page --------------------------- */
#accessFrame {
	max-width:1100px;
	margin:auto;
	padding-bottom:40px;
}
#accessFrame #accessMap {
	padding-bottom:60px;
}
#accessFrame #accessMap iframe {
	width:100%;
	height:400px;
	background:url(img/loading.gif) 50% 50% no-repeat #110;
	border:1px solid #eee;
}
#accessInfo h2 {
	font-size:28px;
	color:#c00;
	line-height:1em;
	padding-bottom:30px;
	text-align:center;
}
#accessInfo h2 span:nth-child(2) {
	display:block;
	font-size:16px;
	color:#900;
	text-align:center;
}

#accessInfo dl#accessShopInfo {
	padding:0 15px 60px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
}
#accessInfo dl#accessShopInfo dt {
	color:#c00;
	width:90px;
	padding:5px 0.5em 5px;
	border-top:1px solid #333;
}
#accessInfo dl#accessShopInfo dd {
	width:calc(100% - 90px);
	padding:5px 0 5px;
	border-top:1px solid #333;
}
#accessInfo dl#accessShopInfo dt:nth-child(1) ,
#accessInfo dl#accessShopInfo dd:nth-child(2) {
	border-top:0 none;
}

#accessInfo #accessPhotos {
	width:100%;
	display:flex;
	justify-content:space-around;
}

#accessInfo #accessPhotos li {
	min-width:33%;
	padding:0 0.5vw;
}
#accessInfo #accessPhotos li img {
	border:1px solid #666;
}
#accessInfo #accessPhotos li span {
	display:block;
	color:#ccc;
	font-size:12px;
	padding-left:0.5em;
}


@media screen and (min-width:800px) { 
	#accessFrame {
		padding-bottom:40px;
		display:flex;
		justify-content:space-around;
	}
	#accessFrame > div {
		width:50%;
		padding:0 20px;
	}
	#accessFrame #accessMap {
		padding-bottom:initial;
	}
	#accessFrame #accessMap iframe {
		height:480px;
	}

	#accessInfo h2 {
		font-size:30px;
		text-align:initial;
	}
	#accessInfo h2 span:nth-child(2) {
		font-size:16px;
		text-align:right;
	}

	#accessInfo dl#accessShopInfo {
		padding:0 15px 15px;
	}
}
@media screen and (min-width:1000px) { 
	#accessInfo h2 {
		font-size:32px;
	}
	#accessInfo h2 span:nth-child(2) {
		display:initial;
		padding-left:1em;
		text-align:initial;
	}
	#accessInfo #accessPhotos li {
		padding:0 10px;
	}
}




/* --------- recruit page ------------------ */
.recruitFrame {
	max-width:1000px;
	margin:auto;
	padding-bottom:30px;
}

.recruitFrame .recruitInner {
	background:linear-gradient(#111 ,#444);
	background:-webkit-gradient(linear, left top, left bottom, from(#111), to(#444));
	border-radius:10px;
	border:1px solid #666;
	overflow:hidden;
}
.recruitFrame .recruitInner h3 {
	padding:0.2em 1em;
	font-size:20px;
	color:#fff;
	background:linear-gradient(#b90, #640);
	background:-webkit-gradient(linear, left top, left bottom, from(#b90), to(#640));
	box-shadow:0px 1px 5px #000;
}
.recruitFrame .recruitInner p em {
	display:block;
	font-size:13px;
	line-height:1.6em;
	padding:15px 2em;
}
.recruitFrame .recruitInner .recruitImage {
	text-align:center;
	padding-bottom:15px;
}

.recruitFrame .recruitInner h4 {
	text-align:center;
	padding-bottom:15px;
}
.recruitFrame .recruitInner h4 span {
	display:inline-block;
	font-size:14px;
	padding:0.75em 1em;
	color:#fff;
	background:linear-gradient(#960, #630);
	background:-webkit-gradient(linear, left top, left bottom, from(#960), to(#630));
	border:1px solid #ccc;
	border-radius:5px;
	cursor:pointer;
}
.recruitFrame .recruitInner h4 span:before ,
.recruitFrame .recruitInner h4 span:after {
	content:" ▼ ";
}
.recruitFrame .recruitInner h4 span:after {
	content:attr(data-open)" ▼ ";
}
.recruitFrame .recruitInner .open h4 span:before ,
.recruitFrame .recruitInner .open h4 span:after {
	content:" △ ";
}
.recruitFrame .recruitInner .open h4 span:after {
	content:attr(data-close)" △ ";
}
.recruitFrame .recruitInner .recruitDetails {
	width:100% !important;
	opacity:1 !important;
	display:none;
}


.recruitFrame .recruitInner .recruitDetails dl {
	padding:30px 10px;
	display:flex;
	flex-wrap:wrap;
	font-size:13px;
	line-height:1.6em;
}
.recruitFrame .recruitInner .recruitDetails dl dt {
	color:#c00;
	width:90px;
	padding:5px 5px 10px;
	text-align:center;
}
.recruitFrame .recruitInner .recruitDetails dl dd {
	width:calc(100% - 90px);
	padding:5px 5px 10px;
}
.recruitFrame .recruitInner .recruitDetails dl dd a {
	color:#ff6;
}

.recruitFrame .recruitInner .recruitDetailFlexBloc {
	display:flex;
	flex-direction:column-reverse;
}
@media screen and (min-width:800px) { 
	.recruitFrame .recruitInner h3 {
		padding:0.2em 1em;
		font-size:24px;
	}
	.recruitFrame .recruitInner p em {
		font-size:16px;
	}
	.recruitFrame .recruitInner h4 span {
		font-size:14px;
		padding:0.2em 1em;
	}
	.recruitFrame .recruitInner .recruitDetails dl {
		padding:30px 50px;
	}
	.recruitFrame .recruitInner .recruitDetails dl dt {
		width:200px;
		padding:5px 1em 10px;
		font-size:14px;
	}
	.recruitFrame .recruitInner .recruitDetails dl dd {
		width:calc(100% - 200px);
		padding:5px 1em 10px;
		font-size:14px;
	}

}
@media screen and (min-width:1000px) { 
	.recruitFrame .recruitInner .recruitDetails dl {
		padding:30px 150px;
	}
}




/* --------- gallery page --------------------------- */
#photoGallery {
	width:1000px;
	max-width:100%;
	margin:auto;
	padding-bottom:30px;
	display:flex;
	flex-wrap:wrap;
}
#photoGallery li {
	width:50%;
	padding:5px;
}
#photoGallery li .caption {
	display:block;
	font-size:12px;
	color:#ccc;
	text-align:right;
}
@media screen and (min-width:800px) { 
	#photoGallery li {
		width:25%;
	}
}



/* --------- link page --------------------------- */
#linkList {
	max-width:780px;
	margin:auto;
}
.linkCateBloc {
	text-align:center;
	padding:50px 0 0;
	border-top:1px solid #666;
}
#linkList .linkCateBloc:nth-child(1) {
	padding-top:0;
	border-top:0 none;
}

.linkCateBloc h3 {
	font-size:16px;
	color:#c00;
	padding-bottom:30px;
}
.linkCateBloc ul {
	width:100%;
	padding-bottom:30px;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
.linkCateBloc ul li {
	width:250px;
	padding:0 10px 20px;
}
.linkCateBloc ul li img {
	width:180px;
}
.linkCateBloc ul li span {
	display:block;
}



/* --------- footer layout --------------------------- */
footer {
	font-size:12px;
	text-align:center;
	color:#fff;
	background:#2f2725;
	box-shadow:0 1px 5px 1px #666;
}
footer .inner > * {
	padding:10px 0 20px;
}
footer .inner  > *:last-child {
	padding:10px 0;
	border-bottom:0 none;
}
footer .inner a {
}
@media screen and (max-width:799px) {
	footer {
		padding-bottom:40px;
	}
}




/* --------- footer navigation ------------------ */
footer .inner nav ul {
	display:flex;
	justify-content:center;
	align-items:center;
}
footer .inner nav ul li a {
	padding:5px 10px;
}
footer .inner nav ul li a span:nth-child(2) {
	display:none;
}
@media screen and (min-width:800px) {
	footer .inner nav ul li {
		border-right:1px solid #ccc;
	}
	footer .inner nav ul li:last-child {
		border-right:0 none;
	}
	footer .inner nav ul li a {
		padding:5px 20px;
	}
}
@media screen and (max-width:799px) {
	footer .inner nav ul {
		flex-wrap:wrap;
	}
	footer .inner nav ul li {
		padding:5px 10px;
	}
}


/* --------- footer information ------------------ */
footer .inner #footerInfo {
/*
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
*/
}
footer #footerInfo #footerLogo {
	width:100%;
}
footer #footerInfo #footerShopInfo {
	padding-right:10px;
}
footer #footerInfo #footerInsta {
	padding-left:10px;
}
footer #footerInfo #footerInsta img {
	width:45px;
}

@media screen and (min-width:800px) { 
	footer #footerInfo #footerLogo img {
		max-width:400px;
	}
}



/* --------- footer sisterStores ------------------ */
footer .inner  #sisterStore {
	border-top:1px solid #334;
	border-bottom:1px solid #334;
}
footer .inner  #sisterStore h2 {
	font-size:16px;
}
footer .inner  #sisterStore ul {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
footer .inner  #sisterStore ul li {
	width:220px;
	padding:20px 10px 0;
}
footer .inner  #sisterStore ul li img {
	width:200px;
}




/* --------- pagetop Link ------------------ */
#pageTop {
	position:fixed;
	right:10px;
	bottom:10px;
	width:60px !important;
	height:60px !important;
	padding:0;
	display:none;
}
#pageTop div {
	width:100%;
	height:100%;

	color:#fff;
	background:linear-gradient(#5f4745, #1f0705) #2f2725;
	border:1px solid #999;
	border-radius:3px;
	box-shadow:0px 0px 3px #000;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;

	font-size:11px;
	text-align:center;
	font-family:"CSerif",serif;
}
#pageTop div span {
	width:100%;
}



/* --------- pagetop Link ------------------ */
.infoBloc {
	text-align:center;
	margin:0 auto;
	width:96%;
}
.infoBloc + .infoBloc{
	padding-top:30px;
}

@media screen and (min-width:800px) { 
	.infoBloc {
		width:80%;
	}
}
@media screen and (min-width:1000px) { 
	.infoBloc {
		width:100%;
	}
}




#announcement .infoBloc {
	width:95%;
}
@media screen and (min-width:800px) { 
	#announcement .infoBloc #linkMap {
		width:600px;
		margin:0 auto;
	}
}







/* 2020.5.18 */
/* --------- 2020.07 grandopen ------------------ */
#linkMap {
	display:inline-block;
	position:relative;
}
#linkMap a span {
	display:none;
}
#linkMap a.recLink {
	position:absolute;
	top:80.5%;
	left:38%;
	display:block;
	width:48%;
	height:2%;
}
#linkMap a.lineLink {
	position:absolute;
	top:82.5%;
	left:53%;
	display:block;
	width:28%;
	height:2%;
}
#linkMap a.recQR {
	position:absolute;
	top:85.5%;
	left:30.5%;
	display:block;
	width:13.8%;
	height:11%;
}
#linkMap a.lineQR {
	position:absolute;
	top:85.4%;
	left:60.1%;
	display:block;
	width:13.8%;
	height:11%;
}
#linkMap a:hover {
	background:rgba(255,255,255,0.2);
}


/* 2020.5.19 */
/* --------- aside ------------------ */
aside.asideEntry .flex {
	display:flex;
	justify-content:center;
	align-items:center;
}

aside.asideEntry {
	padding:10px 0 0;
}

aside.asideEntry h2 {
	padding:5px;
	background:#fc3;
	font-size:20px;
	text-align:center;
}
aside.asideEntry .flex.asideButtons {
	flex-direction:column;
	padding:10px 0;
	margin:auto;
}
aside.asideEntry .flex.asideButtons li {
	padding:5px;
}
aside.asideEntry .flex.asideButtons li a {
	display:block;
	font-size:0;
}
aside.asideEntry .flex.asideButtons li a img {
	border:1px solid #fff;
	-webkit-transition:all 0.3s ease;
	transition:all 0.3s ease;
}

aside.asideEntry .flex.asideButtons li a:hover img {
	border:1px solid #f60;
	box-shadow:0 0 10px #f90;
}

aside.asideEntry .flex.asideTels {
	padding:10px 0;
	flex-direction:column;
	justify-content:space-between;
}
aside.asideEntry .flex.asideTels li:nth-child(1) {
	width:60%;
}
aside.asideEntry .flex.asideTels li:nth-child(2) a.flex > * {
	display:block;
}
aside.asideEntry .flex.asideTels li:nth-child(2) a.flex span {
	font-size:28px;
}
aside.asideEntry .flex.asideTels li:nth-child(2) a.flex small {
	font-size:14px;
}
@media screen and (max-width:799px) { 
	aside.asideEntry .flex.asideButtons {
		max-width:300px;
	}
	aside.asideEntry .flex.asideTels li a.flex {
		padding:10px 0;
		flex-wrap:wrap;
		justify-content:center;
	}
	aside.asideEntry .flex.asideTels li:nth-child(2) a.flex small {
		width:100%;
		padding-left:40px;
		text-align:center;
	}
}
@media screen and (min-width:800px) { 
	aside.asideEntry .flex.asideButtons {
		flex-direction:row;
		max-width:600px;
	}
	aside.asideEntry .flex.asideTels {
		flex-direction:row;
	}
	aside.asideEntry .flex.asideTels li:nth-child(1) {
		width:30%;
		margin-right:auto;
	}
	aside.asideEntry .flex.asideTels li:nth-child(2) a.flex span {
		margin-right:auto;
	}
}
@media screen and (min-width:1000px) { 
	aside.asideEntry .flex.asideTels li:nth-child(2) a.flex span {
		font-size:36px;
	}
	aside.asideEntry .flex.asideTels li:nth-child(2) a.flex small {
		font-size:16px;
	}
}




/* --------- profile photo slider ------------------ */
#profPhoto .slider {
	height:100%;
}
#profPhoto .slider li {
	height:100%;
}
#profPhoto .slider li .imageBox {
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	text-aling:center;
}




/* --------- index contnts ------------------ */
#announcement .infoBloc ,
#announcement video {
	max-width:840px;
}
#announcement video {
	display:block;
	width:840px;
	max-width:100%;
	margin:0 auto 40px;
	box-shadow:0 0 10px 3px #fff;
}
#tiktok {
	padding:0 0 40px;
	display:flex;
	justify-content:space-evenly;
}
#tiktok > div {
	padding:20px;
}
#tiktok blockquote {
	width:325px;
	border-radius:8px;
	overflow:hidden;
}
@media screen and (max-width:799px) {
	#tiktok {
		flex-direction:column;
	}
}

#indexHtmlBody main h2.pageH2.systemNotice {
	line-height:initial;
	padding-bottom:20px;
}
#indexHtmlBody main h2.pageH2.systemNotice > span {
	font-size:24px;
}
h2.pageH2 > span:before ,
h2.pageH2 > span:after {
	top:16px;
}

#snsBanners {
	padding:40px 0 0;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
#snsBanners > div {
	width:calc(100% / 3 - 1em);
}
#snsBanners a {
	display:block;
	border:1px solid #000;
	-webkit-transition:all .3s ease;
	transition:all .3s ease;
}
#snsBanners img {
	display:block;
}
#snsBanners a:hover {
	filter:brightness(1.5);
}
@media screen and (max-width:799px) {
	#snsBanners {
		flex-direction:column;
	}
	#snsBanners > div {
		width:auto;
		padding-top:1em;
	}
}
