@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:#fff;
	background:#112;
	font-family:"Noto Sans JP",sans-serif;
}
#outer {
	width:100%;
	margin:0 auto;
	background:rgba(17,17,34,0.8);
}
body#indexHtmlBody #outer {
	background:transparent;
}

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

main {
	padding-top:calc(75px + 40px);
}
@media screen and (min-width:800px) { 
	#outer {
		min-width:1200px;
	}
	main {
		padding-top:75px;
	}
}
main .inner {
	padding:0 30px;
}
section ,aside {
	padding:40px 0 60px;
}

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


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





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

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

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


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


/* --------- header menu icon --------- */
#menuIcon {
	position:relative;
	width:100%;
	height:4px;
	background:#fff;
	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:#fff;
	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;
	text-align:center;
}
#headerTelLink a {
	display:inline-block;
	margin-bottom:3px;
	font-size:20px;
	line-height:1em;
	padding:5px 1.5em;
	font-family:"CSerif","Noto Serif JP",serif;
	background:linear-gradient(#069, #036);
	background:-webkit-gradient(linear, left top, left bottom, from(#069), to(#036));
	border-radius:5px;
}

/* --------- header marquee ------------------ */
#headerMaquee {
	height:25px;
	line-height:25px;
	color:#fff;
	background:linear-gradient(#09c, #036);
	background:-webkit-gradient(linear, left top, left bottom, from(#09c), to(#036));
	overflow:hidden;
/*
	animation:blink 1.0s ease-in-out infinite alternate;
	-webkit-animation:blink 1.0s ease-in-out infinite alternate;
*/
}
#headerMaquee ul {
	display:inline-block;
	white-space:nowrap;
}
#headerMaquee ul li {
	display:inline-block;
	padding-left:300px;
}



/* --------- header marquee overwrite --------- */
.headerMarqueeOn header #headerLinks {
	height:calc(85px + 40px + 25px);
}

.headerMarqueeOn main {
	padding-top:calc(90px + 40px + 25px);
}


@media screen and (min-width:800px) { 
	.headerMarqueeOn header #headerLinks {
		height:calc(70px + 25px);
	}
	.headerMarqueeOn main {
		padding-top:calc(75px + 25px);
	}
}



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

		background:rgba(0,0,0,0.9);
		-webkit-transition:.2s ease-out;
		transition:.2s ease-out;
	}
	.headerMarqueeOn #headerNav {
		padding-top:calc(115px + 40px);
	}
	.menuOpen #headerNav {
		left:0;
	}

	#headerNav ul {
	}
	#headerNav ul li {
		padding:5px;
		border-bottom:1px solid #666;
		text-align:right;
	}
	#headerNav ul li a {
		display:block;
		padding:10px 30px;
		font-size:14px;
	}
	#headerNav ul li a:after {
		content:"＞";
		padding-left:1em;
		color:#999;
	}
	#headerNav ul li a:hover {
		color:#0cf;
		text-shadow:0 0 5px #fff;
		-webkit-transition:.2s ease-out;
		transition:.2s ease-out;
	}
	#headerNav ul li a span {
		
	}

}


@media screen and (min-width:800px) { 
	#headerNav {
		position:fixed;
		top:0;
		left:0;
		right:0;
		min-width:1200px;
		height:70px;
		z-index:9002;
	}
	#headerNav .inner {
		padding-left:240px;
		padding-right:0;
	}
	#headerNav .inner ul {
		border-left:1px solid #666;
		display:flex;
		justify-content:center;
	}

	#headerNav .inner ul li {
		flex-grow:1;
		min-width:calc(100% / 8);
		max-width:calc(100% / 6);
		border-right:1px solid #666;
		text-align:center;
	}
	#headerNav .inner ul li a {
		height:70px;
		color:#cff;
		font-size:14px;
		display:flex;
		justify-content:center;
		align-items:center;
		flex-wrap:wrap;
		flex-direction:column;
	}
	#headerNav .inner ul li a span {
		width:100%;
	}
	#headerNav .inner ul li a span:nth-child(1) {
		font-family:"CSerif","Noto Serif JP",serif;
	}
	#headerNav .inner ul li a span:nth-child(2) {
		color:#6cc;
		font-size:12px;
		font-weight:500;
	}
	#headerNav .inner ul li a:hover {
		background:rgba(153,204,255,0.6);
		-webkit-transition:.3s ease-out;
		transition:.3s ease-out;
	}
	#headerNav .inner ul li a:hover span {
		color:#fff !important;
		text-shadow:1px 1px 3px #000;
	}
}








/* --------- contents blocks --------------------------- */
#indexHtmlBody main h2 {
	font-size:40px;
	font-family:"CSerif","Noto Serif JP",serif;
	line-height:2;
}

h2.pageH2 {
	text-align:center;
	overflow:hidden;
	padding-bottom:40px;
}
h2.pageH2 > span {
	position:relative;
	display:inline-block;
	margin:auto;
	font-size:30px;
	line-height:1.4em;
	letter-spacing:0.05em;
	color:#fff;
	font-family:"CSerif","Noto Serif JP",serif;
}
h2.pageH2 > span span {
	display:block;
	font-size:16px;
	line-height:1.4em;
	letter-spacing:1px;
	color:#ddd;
}
h2.pageH2 > span:before ,
h2.pageH2 > span:after {
	content:"";
	position:absolute;
	top:25px;
	display:block;
	width:500px;
	height:1px;
	border-bottom:1px solid #ccc;
}
h2.pageH2 > span:before {
	left:-30px;
	margin-left:-500px;
}
h2.pageH2 > span:after {
	right:-30px;
	margin-right:-500px;
}
@media screen and (min-width:800px) { 
	h2.pageH2 > span {
		font-size:40px;
	}
	h2.pageH2 > span:before ,
	h2.pageH2 > span:after {
		top:30px;
	}
}


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

.squareBox {
	position:relative;
	overflow:hidden;
}
.squareBox > span {
	display:block;
	width:100%;
	aspect-ratio:1/1;
}
.squareBox > span > span {
	display:block;
	width:100%;
	height:100%;
}
.squareBox > span > span > img {
	width:100%;
	height:100%;
	object-fit:cover;
}



/* --------- section color (top page) ------------------ */
#indexHtmlBody section:nth-child(2n+1) {
	color:#ccc;
	background:rgba(0,0,0,0.2);
}
#indexHtmlBody section:nth-child(2n+1) h2 {
	color:#fff;
}

#indexHtmlBody section:nth-child(2n+2) {
	color:#333;
	background:rgba(255,255,255,0.9);
}
#indexHtmlBody section:nth-child(2n+2) h2 {
	color:#000;
}


#indexHtmlBody section#recruitStaff {
	padding:40px 0 0;
}
#indexHtmlBody section#recruitGirls {
	padding:60px 0;
}
#indexHtmlBody section#recruitStaff .infoBloc ,
#indexHtmlBody section#recruitGirls .infoBloc {
	margin:0 auto;
	font-size:0;
}
#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;
	}
}



#video2 {
	width:100%;
	padding:10px;
	text-align:center;
}
#video2 #videoFrame {
	display:block;
	width:100%;
	max-width:1880px;
	margin:0 auto;
}
@media screen and (min-width:800px) { 
	#video2 #videoFrame {
	}
}



/* --------- newyear information block ------------------ */
section#newyearInformation {
	padding: 20px 0;
}



/* --------- information block ------------------ */
#news ul.newsList {
	padding:0 1em;
	font-size:13px;
	line-height:1.8;
}
#news ul.newsList li {
	padding-top:1em;
}
#news ul.newsList li div.date {
	width:100%;
	font-size:80%;
}
#news ul.newsList li div.flex {
	display:flex;
	justify-content:space-between;
}
#news ul.newsList li div.flex > div.left {
	flex-grow:1;
}
#news ul.newsList li div.flex > div.left h3.title {
	font-size:140%;
}
#news ul.newsList li div.flex > div.left div.body {
	padding-left:1em;
}
#news ul.newsList li div.flex > div.right {
	width:40%;
	padding-left:1em;
}

@media screen and (min-width:800px) { 
	#news ul.newsList {
		padding:0 2em;
		font-size:16px;
	}
	#news ul.newsList li div.flex > div.right {
		width:30%;
	}
}



/* --------- concept block ------------------ */
#concept p {
	padding:1em 2em 0;
	font-size:13px;
	line-height:1.8em;
}
@media screen and (min-width:800px) { 
	#concept p {
		font-size:16px;
	}
}



/* --------- cast block ------------------ */
#cast h2:nth-of-type(n + 2) {
	padding-top:30px;
}
@media screen and (min-width:800px) { 
}



/* --------- photos block ------------------ */
#photos ul#photoList {
	padding:0 1em;
	display:flex;
	justify-content:space-around;
	align-items:center;
	flex-wrap:wrap;
}
#photos ul#photoList li {
	width:48%;
	padding-bottom:5px;
}
#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 li {
		width:30%;
		padding:15px 0;
	}
}




/* --------- 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));
	background:-webkit-gradient(linear, left top, left bottom, from(rgba(153,153,153,0.6)), to(rgba(0,0,0,0.9)));
	border:1px solid #666;
	cursor:pointer;
}
#cast ul.castList li:hover {
	-webkit-transition:.2s ease;
	transition:.2s ease;
	box-shadow:0 0 5px 3px #06f;
/*
	color:#003;
	background:linear-gradient(rgba(0,0,0,0.9) ,rgba(153,153,153,0.8));
	background:-webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0.9)), to(rgba(153,153,153,0.8)));
*/
}
#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:#dff;
}
#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 ------------------ */
#instagram > div.inner > h2 {
	background:url(images/common/instagram_logo.png) 0 50% no-repeat;
	background-size:contain;
	font-size:0;
	height:80px;
}
#indexHtmlBody section#instagram:nth-child(2n+1) {
}
#indexHtmlBody section#instagram:nth-child(2n+2) > div.inner > h2 {
	background-image:url(images/common/instagram_logo_black.png);
}

#instagramOuter {
	padding:15px;
}
#instagramInner {
	position:relative;
	width:100%;
	padding:2%;
	background:#fff;
	border:1px solid #999;
	border-radius:5px;
	overflow:hidden;
}
#instagramInner.noData {
	aspect-ratio:auto;
	padding:3em 0;
	text-align:center;
}
#instagramInner.noData a {
	display:inline-block;
	margin-top:1em;
	padding:0 0.5em;
	border-bottom:1px solid #999;
	-webkit-transition:.2s ease;
	transition:.2s ease;
}
#instagramInner.noData a:hover {
	color:#f66;
	border-bottom-color:transparent;
}

@media screen and (max-width:799px) { 
	#instagram > div.inner > h2 {
		height:70px;
	}
}


/* --------- access block ------------------ */
#access div.squareBox span {
	padding:1em;
}
#access div.squareBox span iframe {
	width:100%;
	height:100%;
	border:1px solid #999;
}
@media screen and (min-width:800px) { 
	#access div.squareBox:before {
		padding-top:500px;
	}
}




/* --------- profile page --------------------------- */
#castPager {
	width:100%;
	padding-top:0;
}
#castPager ul {
	display:flex;
	justify-content:center;
	padding:10px;
	background:rgba(51,51,51,0.8);
}
#castPager li {
	display:inline-block;
}
#castPager li a {
	display:block;
	color:#ccc;
	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:#6cf;
	font-size:24px;
	border-bottom:1px solid #ccc;
}
#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 #39c;
	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;
}


@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:#6cf;
	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 #39c;
		border-bottom:1px solid #39c;
	}
	#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:#6cf;
		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:#6cf;
		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);
	}
}




/* --------- 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 #112;
	border:1px solid #eee;
}
#accessInfo h2 {
	font-size:28px;
	color:#6cf;
	line-height:1em;
	padding-bottom:30px;
	text-align:center;
}
#accessInfo h2 span:nth-child(2) {
	display:block;
	font-size:16px;
	color:#39c;
	text-align:center;
}

#accessInfo dl#accessShopInfo {
	padding:0 15px 60px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
}
#accessInfo dl#accessShopInfo dt {
	color:#6cf;
	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(#09c, #036);
	background:-webkit-gradient(linear, left top, left bottom, from(#069), to(#036));
	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(#09c, #036);
	background:-webkit-gradient(linear, left top, left bottom, from(#09c), to(#036));
	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:#6cf;
	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:#9ff;
}

.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:10px 5px;
}
#photoGallery li .caption {
	display:block;
	font-size:12px;
	color:#ccc;
	text-align:right;
}
#photoGallery li .squareBox > span {
	aspect-ratio:4/3;
}
#photoGallery li .squareBox > span > span {
	border:1px solid #999;
	overflow:hidden;
}
@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:#6cf;
	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:14px;
	text-align:center;
	color:#dee;
	background:rgba(0,0,0,0.8);
	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 {
}
footer #footerInfo #footerInsta {
	padding-top:1em;
}
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:70px !important;
	height:70px !important;
	padding:0;
	display:none;
}
#pageTop div {
	width:100%;
	height:100%;

	color:#fff;
	background:linear-gradient(#069, #036);
	background:-webkit-gradient(linear, left top, left bottom, from(#069), to(#036));
	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","Noto Serif JP",serif;
}
#pageTop div span {
	width:100%;
}



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

@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 {
		width:600px;
	}
}



/* --------- 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;
}


/* ==============================================
	instagram
=============================================== */
.instaImages {
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	flex-wrap:wrap;
}
.instaImages > div {
	width:calc(100% / 3);
	padding:3px;
}
.instaImages > div:nth-child(n + 10) {
	display:none;
}
.instaImages > div > a {
	position:relative;
	display:block;
}
.instaImages > div > a > * {
	display:block;
	width:100%;
	aspect-ratio:1/1;
	object-fit:cover;
}
.instaImages > div.video > a:after {
	content:"";
	position:absolute;
	top:0;
	right:0;
	display:block;
	width:25%;
	aspect-ratio:1/1;
	background:url(images/icons/instagram_reel_w.png) 50% 50% no-repeat;
	background-size:contain;
	filter:drop-shadow(0 0 3px #666);
	z-index:10;
}
.instaImages > div > a > span {
	display:none;
}
.instaImages > div.noData {
	width:100%;
	text-align:center;
	padding:3em 0;
	font-size:90%;
	color:#666;
}


@media screen and (min-width:800px) {
	.instaImages > div.video > a:after {
		width:20%;
	}
	.instaImages > div > a:hover {
		opacity:0.8;
	}

}

