@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@600;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&display=swap');


@media screen and (min-width:800px){
	.no-pc{
		display:none!important;
	}
}
@media screen and (max-width:799px){
	.no-sp{
		display:none!important;
	}
}
.noDisp {
	display:none!important;
}

@keyframes animateBlink {
	  0% { opacity:1; }
	100% { opacity:0.1; }
}

:root {
	--font-weight-normal:600;
	--font-weight-bold:800;
}

/* ==============================================
CSS reset
=============================================== */
* ,*:before ,*:after {
	box-sizing:border-box;
	text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
}
html ,body ,div ,p ,span ,iframe ,a ,img ,
h1 ,h2 ,h3 ,h4 ,h5 ,h6 ,
dl ,dt ,dd ,ol ,ul ,li ,
form ,label ,
table ,thead ,tbody ,tfoot ,tr ,th ,td ,
blockquote ,q ,pre ,button ,input ,textarea ,select ,
header ,footer ,nav ,article ,section ,aside,em,strong {
	margin:0;
	padding:0;
	border:0 none;
	vertical-align:baseline;
	font-size:inherit;
	font-weight:inherit;
	font-style:inherit;
}

button ,input ,textarea ,select {
	padding:0.2em;
	-webkit-appearance:none;
	appearance:none;
}

input[type="submit"] ,button {
	padding:0.5em 1.5em;
}

html ,body {
	min-height:100%;
	height:100%;
}

a {
	color:inherit;
	text-decoration:none;
	cursor:pointer;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}

a:hover {
	text-decoration:none;
	opacity:0.85;
}

img {
	vertical-align:top;
	max-width:100%;
    max-height:100%;
	height:auto;
	display:inline-block;
	border:0 none;
}

ol ,ul ,li {
	list-style:none;
}

header,section,footer{
	max-width:100%;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

dl,dt,dd{
	display:block;
	margin:0;
	padding:0;
}

/* ============================================
common pc
=============================================== */
.noData {
	color:#444;
	padding:5em 1em;
	text-align:center;
}
.noData.w100 {
	width:100%;
}
.noData.white {
	color:#eee;
}

.tel-link-a{
	pointer-events:auto;
}

html{
	scroll-behavior:smooth; 
}

body{
	position:relative;
	padding:0;
	line-height:1.6;
	font-size:16px;
	font-weight:var(--font-weight-normal);
	color:#000;
	background:#fff;
	font-family:'Noto Serif JP',serif;
	text-align:justify;
}

@media screen and (min-width:800px){
	#bgLayer{
		min-width:1200px;
		max-width:1920px;
		width:100%;
		margin:0 auto;	
	}
}

@media screen and (max-width:799px){
	#bgLayer{
		width:480px;
		min-width:480px;
		max-width:480px;
		margin:0 auto;
	}
}

.all-center-full{
	width:100%;
	max-width:100%;
	margin:0 auto;
}

.all-center-1550{
	width:1550px;
	max-width:100%;
	margin:0 auto;
}

.all-center-1300{
	width:1300px;
	max-width:100%;
	margin:0 auto;
}

.all-center-1200{
	width:1200px;
	max-width:100%;
	margin:0 auto;
}

.all-center-1100{
	width:1100px;
	max-width:100%;
	margin:0 auto;
}

.all-center-1000{
	width:1000px;
	max-width:100%;
	margin:0 auto;
}

.all-center-900{
	width:900px;
	max-width:100%;
	margin:0 auto;
}

.all-center-800{
	width:800px;
	max-width:100%;
	margin:0 auto;
}

/* ===================================
common sp
==================================== */

@media screen and (max-width:799px){

	.sp-LR15 {
		padding-left:15px !important;
		padding-right:15px !important;
	}
}

/* =================================================================
flex
==================================================================== */

.flex {
	display:flex;
	justify-content:center;
	align-items:center;
}
.flex.left {
	justify-content:flex-start;
}
.flex.right {
	justify-content:flex-end;
}
.flex.between {
	justify-content:space-between;
}
.flex.around {
	justify-content:space-around;
}
.flex.evenly {
	justify-content:space-evenly;
}

.flex.top {
	align-items:flex-start;
}
.flex.bottom {
	align-items:flex-end;
}
.flex.stretch {
	align-items:stretch;
}

.flex.base {
	align-items:baseline;
}

.flex.column {
	flex-direction:column;
}
.flex.rev {
	flex-direction:row-reverse;
}
.flex.column.rev {
	flex-direction:column-reverse;
}

.flex.wrap {
	flex-wrap:wrap;
}

.flex.col2 > * {
	width:calc(100% / 2);
}
.flex.col3 > * {
	width:calc(100% / 3);
}
.flex.col4 > * {
	width:calc(100% / 4);
}
.flex.col5 > * {
	width:calc(100% / 5);
}

.flex > .half {
	width:50%;
}
.flex > .full {
	width:100%;
}

.height-inherit > * {
	height:100%;
}
.height-inherit-all * {
	height:100%;
}

/* ===========
common caption
==============*/

.caption1-cover{
	text-align:center;
}

.caption1-en,
.caption1-ja{
	font-weight:var(--font-weight-bold);
	display:block;
	font-family:"Libre Baskerville",'Noto Serif JP', serif;
}

.caption1-en{
	font-size:300%;
}

.caption1-ja{
	color:#878787;
	font-size:150%;
	line-height:1;
}

@media screen and (max-width:799px){

	.caption1-en{
		font-size:230%;
		line-height:1.2;
	}
	
	.caption1-ja {
		font-size:130%;
		line-height:1.6;
	}
}

/* =========
common icon
============*/

.icon-outer{
	padding-top:2em;
}

.icon-cover{
	padding:0 1.5em;
}

.icon-cover a img{
	width:70px;
}

@media screen and (max-width:799px){
	.icon-outer{
		padding-top:1em;
	}
}

/* =========
common button
============*/

.button1-cover ,
.formButton {
	padding-top:3em;
	display:flex;
	justify-content:center;
}
.formButton {
	display:flex;
}
.button1 ,
input[type="submit"] {
    background-color:#3e3a39;
    color:#fff;
    min-width:15em;
	padding:0.5em 2em;
    font-size:150%;
    margin:0 auto;
	border:solid 1px #fff;
    outline:solid 1px #3e3a39;
    cursor:pointer;
    transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
	font-family:inherit;
}
input[type="submit"] {
    font-size:130%;
}

.button1.flex {
	text-align:center;
}
.button1.flex > span {
	padding:0.3em 0;
	line-height:1.2;
}
.button1.flex small {
	font-size:70%;
}
.button1.flex .arrow {
	padding-left:0.5em;
	padding-bottom:0.3em;
	font-size:70%;
}
.button1.flex .arrow.big {
	padding-left:0.8em;
	font-size:90%;
}

.button1:hover ,
input[type="submit"]:hover {
    background-color:#fff;
	color:#3e3a39;
	border:solid 1px #3e3a39;
	outline:solid 1px #fff;
}

.bg-line{
	background-color:#487233;
	box-shadow:0 4px 0 0 #143e00;
}

.bg-tel{
	background-color:#b97632;
	box-shadow:0 4px 0 0 #854200;
}

.bg-mail{
	background-color:#287eaf;
	box-shadow:0 4px 0 0 #004a7b;
}

.bg-form{
	background-color:#666;
	box-shadow:0 4px 0 0 #333;
}

.button2-outer{
	padding-top:5em;
}

.button2-wrapper{
	padding:0 1em;
	width:calc(100% / 2);
}

.button2-cover {
	width:23em;
	padding:0.5em 0;
	border-radius:0.5em;
}

.button2-cover:hover {
    transform:translateY(8px);
	box-shadow:0 0 0 0 !important;
}

.button2-img-cover{
	height:80px;
	padding-right:0.5em;
}

.button2-text{
	text-align:center;
	color:#fff;
	font-size:120%;
	padding:0 0.5em;
}

/* contents-all-button-access */
.button-access-title-cover{
	padding-top:3em;
}

.button-access-title{
	text-align:center;
	font-size:180%;
}

.button-access-outer {
	padding-top:0.5em;
    margin:0 auto;
	max-width:100%;
}

.button-access-wrapper{
	padding:2em 1em 0;
	width:auto;
}

@media screen and (max-width:799px){

	.button1-cover {
		padding-top:3em;
	}

	.button1 {
		min-width:17em;
		padding:0.5em 1em;
		font-size:130%;
	}

	.button2-outer {
		padding-top:2em;
		flex-direction:column;
	}

	.button2-wrapper {
		padding:1.5em 0em 0;
		width:100%;
	}

	.button2-cover {
		margin:0 auto;
	}

	.button-access-title-cover {
		padding-top:3em;
	}
}

/* =========
common bg-fixed
============*/

.bg-fixed:before,
.bg-fixed:after{
    content:"";
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    right:0;
    z-index:1;
}

.bg-fixed:before {
	background-repeat:no-repeat;
	background-position:50% 100%;
	background-size:cover;
    margin:0 auto;
    min-width:1200px;
}

.bg-fixed:after {
    background-color:rgb(255, 255, 255,0.85);
}

.bg-fixed-contents{
	position:relative;
	z-index:2;
}

/* ページごとの背景画像 */
.bg-fixed:before{
	background-image:url(images/common/bg2.webp); 
}


/* ==================================================
common main
=====================================================*/

strong{
}

.dispaly-none{
	display:none;
}

.waku{
	padding-top:5em;
	padding-bottom:5em;
}

.logo-cover{
	text-align:center;
	align-self:center;
}

.logo{
	width:50px;
}

.logo-text{
	width:170px;
}

.sns-link{
	color:#223a70;
	border-bottom:solid 1px #223a70;
}

.sns-link:hover{
	color:#c00;
	border-bottom:solid 1px #c00;
}

.border-under1{
	border-bottom:solid 1px #c00;
}

.color1{
	color:#c00;
}

@media screen and (max-width:799px){

	.waku{
		padding-top:3em;
		padding-bottom:3em;
	}

	.logo-text{
		width:175px;
	}
	
}

/* ========
common word
===========*/

.word-wrapper{
	padding-top:3em;
}

.word-cover + .word-cover{
	padding-top:1em;
}

.word{
	font-size:130%;
	text-align:center;
	line-height:2;
}
.word.slim{
	color:#444;
	font-size:100%;
	line-height:1.6;
}

.word > .p1 {
	padding-top:1em;
}

@media screen and (max-width:799px){

	.word-wrapper {
		padding-top:1.5em;
	}

	.word{
		font-size:110%;
		text-align:justify;
	}
	.word.slim{
		font-size:90%;
	}
	.word.center{
		text-align:center;
	}
}

/* ===========
common picture
==============*/

.picture-waku-cover{
	padding-top:2em;
}

.picture-outer{
	width:calc(100% / 2);
	padding:1em;
}

.picture-wrapper{
	position:relative;
}

.picture-cover{
    position:relative;
    z-index:1;
}

.picture-cover img{
	object-fit:cover;
    width:100%;
	height:100%;
}

.picture-text-top-cover {
	padding:1.2em;
	height:100%;
	border-radius:1.8em;
}

.picture-text-top-cover.bg1 {
	background:rgba(0,153,255,0.6)
}
.picture-text-top-cover.bg2 {
	background:rgba(0,255,153,0.6)
}
.picture-text-top-cover.bg3 {
	background:rgba(255,153,204,0.6)
}
.picture-text-top-cover.bg4 {
	background:rgba(255,204,0,0.6)
}
.picture-text-top-cover.bg5 {
	background:rgba(255,255,0,0.6)
}
.picture-text-top-cover.bg6 {
	background:rgba(204,102,255,0.6)
}

.picture-text-top{
	background-color:rgb(0,0,0,0.7);
	color:#fff;
	padding:0.2em 1em;
	line-height:1.2;
	position:absolute;
	z-index:2;
	top:0.5vw;
	left:0;
}

.name-en{
	border-bottom:1px solid #fff;
	font-size:230%;
}

.name-ja{
	font-size:130%;
}

.picture-text-under {
    background-color:rgb(255,255,255,0.85);
    position:absolute;
	z-index:2;
    bottom:0.5vw;
    right:0.5vw;
    text-align:justify;
    padding:0.2em 1em 0.3em;
    font-weight:var(--font-weight-bold);
    color:#000;
    text-shadow:1px 1px 0 #fff;
	display:inline-block;
}

.picture-outer:nth-child(1) .picture-text-under{
	background-color:rgb(165, 197, 208,0.85);
}

.picture-outer:nth-child(2) .picture-text-under{
	background-color:rgb(175, 199, 175,0.85);
}

.picture-outer:nth-child(3) .picture-text-under{
	background-color:rgb(219, 179, 180,0.85);
}

.picture-outer:nth-child(4) .picture-text-under{
	background-color:rgb(246, 220, 195,0.85);
}

.amount{
	font-size:200%;
}
.amount2{
	font-size:120%;
	text-align:center;
}
.amount3{
	font-size:160%;
}

.tax-separate{
	font-size:105%;
}

.makeup,
.photograph-time,
.retouch,
.addition-retouch{
	font-size:120%;
}

.addition-retouch{
	line-height:1.2;
	text-align:justify;
}

.time,
.number,
.wear{
	font-size:120%;
}

@media screen and (max-width:799px){
	
	.picture-outer{
		width:100%;
		padding:2em 0 0 0;
	}

	.picture-waku-cover {
		padding-top:0;
	}

	.picture-cover img {
        aspect-ratio:450 / 300;
	}

	.picture-text-top{
		position:absolute;
		top:1.5vw;
	}

	.picture-text-under {
		bottom:2vw;
		right:2vw;
	}
}

/* kome */
.kome-wrapper {
	padding-top:1em;
}

.kome-cover {
	line-height:2;
}

.kome{
	font-size:110%;
}

@media screen and (max-width:799px){

	.kome-wrapper {
		padding-top:1em;
	}

	.kome-cover {
		line-height:1.6;
	}

	.kome{
		padding-top:0.5em;
	}
}

/* ===================
common section-access
====================== */

.contents-all-access .text-wrapper{
	padding-top:2em;
}

.contents-all-access .text-cover{
	text-align:center;
	padding-top:1em;
}

.contents-all-access .text.name{
	font-size:180%;
}

.contents-all-access .text.addres{
	line-height:1.4;
}

.contents-all-access .text{
	font-size:150%;
}

.contents-all-access .access-map-cover{
	padding-top:2em;
}

@media screen and (max-width:799px){
	.contents-all-access .text-wrapper{
		padding-top:0.5em;
	}

	.contents-all-access .text.name {
		font-size:160%;
	}

	.contents-all-access .text {
		font-size:140%;
	}
}

/* =========
common sales
============ */

.contents-all-sales{
	padding-top:2em;
	text-align:center;
	line-height:2;
}

.sales-title{
	font-size:180%;
}

.sales-time,
.sales-holiday,
.sales-text{
	font-size:150%;
}

@media screen and (max-width:799px){

	.sales-title {
		font-size:170%;
	}

	.sales-time-cover {
		padding-top:0.5em;
	}

	.sales-time {
		font-size:150%;
	}

	.sales-text-cover {
		padding-top:0.5em;
	}

	.sales-text {
		font-size:130%;
		line-height:1.4;
	}
}

/* ==============================================================
sp nav menu ハンバーガーの位置
================================================================= */

#me-b {
	display:none;
}

@media screen and (max-width:799px){
	#me-c {
		position:fixed;
		top:5px;
		left:calc(50% + 240px - 60px - 5px);
		z-index:100001;
	}
	.me-d {
		position:relative;
		background-color:rgba(255,255,255,1);
		border:solid 2px #666;
		height:60px;
		width:60px;
		display:block;
		cursor:pointer;
		border-radius:0.3em;
	}

	.me-d > span{
		position:absolute;
		top:50%;
		left:0;
		right:0;
		display:block;
		height:4px;
		width:30px;
		margin:-2px auto 0;
		background-color:#666;
		transition:top,transform 0.3s ease;
		-webkit-transition:top,transform 0.3s ease;
	}

	.me-d > span.me-d1{
		top:calc(50% - 20%);
	}

	.me-d > span.me-d3{
		top:calc(50% + 20%);
	}

/* ==============================================================
sp nav	menu open　クリックした瞬間の動き
================================================================= */

	#me-b ~ #bgLayer {
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
	}

	#me-b:checked ~ #me-c .me-d > span{
		width:40px;
	}

	#me-b:checked ~ #me-c .me-d > span.me-d2{
		background-color:rgba(255, 255, 255, 0);
	}

	#me-b:checked ~ #me-c .me-d > span.me-d1{
		transform:rotate(45deg);
		top:calc(50% - 0%);
	}

	#me-b:checked ~ #me-c .me-d > span.me-d3{
		transform:rotate(-45deg);
		top:calc(50% + 0%);
	}
	
	#me-b:checked ~ #spMenu .me-e {
		right:0;
	}

/* ==============================================================
sp nav	menu　開いている時
================================================================= */

	#spMenu {
		position:relative;
		z-index:1;
	}
	#spMenu .me-e {
		width:100%;
		height:100%;
		position:fixed;
		top:0%;
		right:-110%;
		z-index:999;
		color:#000;
		transition:all 0.3s;
		-webkit-transition:all 0.3s;
	}

	#spMenu .me-e .me-e-in{
		text-align:center;
		background-color:#3e3a39;
		width:100%;
		height:100%;
	}

	#spMenu .me-e .menu-title{
		background-color:#fff;
		color:#fff;
		width:100%;
		font-size:160%;
		font-weight:var(--font-weight-bold);
		line-height:2.8;
	}

	#spMenu .me-e .nav-ul1-cover{
		width:480px;
		margin:0 auto;
		padding:1.5em 2em 0;
		height:100%;
	}

	#spMenu .me-e .nav-ul1{
		display:flex;
		justify-content:center;
		align-items:center;
		flex-wrap:wrap;
		border:solid 3px #666;
	}

	#spMenu .me-e .nav-li{
		width:100%;
	}

	#spMenu .me-e .nav-a{
		padding:0.5em 0.5em 0.5em 1em;
		line-height:1.8;
		display:flex;
		justify-content:space-between;
		align-items:center;
		background-color:#fff;
	}
	

	#spMenu .me-e .nav-a:after {
		content:"";
		align-self:center;
		width:2em;
		height:2em;
		background:url(images/icons/arrow.png) 50% 50% no-repeat;
		background-size:75% auto;
	}

	#spMenu .me-e .nav-li:nth-child(n+2) .nav-a{
		border-top:solid 1px #666;
	}

	#spMenu .me-e .nav-a .nav-a-text2 {
		margin-left:auto;
		padding-right:0.3em;
		font-size:100%;
	}

	#spMenu .me-e .logo-cover {
		padding-top:0.5em;
		width:360px;
		margin:0 auto;
	}

	#spMenu .me-e .official-cover {
		padding-top:0;
	}

	#spMenu .me-e .official {
		font-size:150%;
		color:#000;
		border-bottom:1px solid transparent;
		border-bottom:none;
		font-weight:var(--font-weight-bold);
		-webkit-filter:invert(0);
		filter:invert(0);
	}

	#spMenu .me-e .official-link-img {
		-webkit-filter:brightness(0);
		filter:brightness(0);
		padding-top:0.3em;
		padding-bottom:0;
		width:25px;
	}

	/* スマホ entry buttton */
	#spMenu .entry-cover {
		padding-top:1.5em;
	}
	
	#spMenu .entry-all .entry{
		margin:0 auto;
	}
}

/* ==================================
common header
================================== */

header{
	position:sticky;
	top:0;
	left:0;
	right:0;
	z-index:10010;
	border-bottom:1px solid #000;
	font-family:'Noto Serif JP',serif;
	background-color:rgba(255,255,255,0.95);
	min-width:1200px;
}

header .logo-tel-wrapper{
	position:relative;
	z-index:2;
	border-bottom:1px solid #000;
}

header .logo-tel-cover{
	padding:0.2em 1em;
}

header .logo img{
	height:4em;
}

header .tel-cover {
    padding-bottom:0.2em;
}

header .tel-text{
	font-size:120%;
	font-weight:var(--font-weight-bold);
    line-height:1.4;
    padding:0 1em;
	text-align:center;
}

header .last-entry{
	font-size:95%;
}

header .tel-number {
	font-size:200%;
	font-weight:var(--font-weight-bold);
}

@media screen and (max-width:799px){
	header{
		min-width:auto;
	}

	header .logo-tel-wrapper{
		background-color:rgba(255,255,255,0.95);
		border-bottom:1px solid #666;
	}

	header .logo-tel-cover.flex.bottom {
		padding:0.4em calc(68px + 5px + 0.2em) 0.4em 0.2em;
	}

	header .logo {
		width:240px;
	}
	
	header .logo-text {
		width:165px;
	}

	header .header-tel {
		padding-top:0;
		display:flex;
		justify-content:space-between;
		align-items:flex-end;
		white-space:nowrap;
	}

	header .tel {
		align-items:center !important;
	}

	header .tel-text{
		font-size:120%;
		font-weight:var(--font-weight-bold);
		line-height:1.4;
		padding:0;
		text-align:center;
	}

	header .header-button-cover {
		display:block;
		padding-top:1.5em;
		text-align:center;
	}

	header .header-button{
		font-size:150%;
		padding:1em 0;
		display:block;
		border-radius:50px;
	}

	header .img-cover{
		width:1.8em;
		padding:0 0.1em;
	}

	header .tel-cover {
		padding:0;
	}

	header .tel{
		flex-direction:column;
	}

	header .tel-text {
		font-size:90%;
	}

	header .last-entry {
		font-size:100%;
	}

	header .tel-number {
		font-size:155%;
	}
}

/* =======
common nav
========== */

.nav-ul1 .nav-li{
	flex-grow:1;
	text-align:center;
}

.nav-ul1 .nav-a {
	color:#000;
	line-height:1.4;
	padding-top:0.3em;
	padding-bottom:0.4em;
	display:block;
}

.nav-ul1 .nav-a-text1{
	font-size:130%;
}

.nav-ul1 .nav-a-text2{
	font-size:80%;
}

.nav-ul1 .nav-a:hover{
	background-color:#000;
	color:#fff;
}

@media screen and (max-width:799px){

	.nav-ul1{
		flex-direction:column;
	}

	.nav-ul1 .nav-li {
		width:100%;
	}

	.nav-ul1 .nav-a:hover{
		background-color:#fff !important;
		color:#000 !important;
	}

	.nav-ul1 .nav-a:active{
		background-color:#000 !important;
		color:#fff !important;
	}
}

/* ========
common main 
===========*/

.bg-scroll-contents {
    position:relative;
    z-index:2;
	background-color:rgb(255,255,255,0.8);
}

/* ================================================================
common footer
===================================================================*/

footer {
    z-index:3;
    position:relative;
	background-color:#5c5a5b;
    color:#000;
    text-align:center;
}

footer a:hover{
	opacity:0.65 !important;
}

footer .waku{
	padding-top:3em;
	padding-bottom:1em;
}

footer .nav-ul1 .nav-a {
	color:#fff;
}

footer .nav-ul1 .nav-a:hover{
	background-color:#fff;
	color:#5c5a5b;
}

footer .logo-cover {
	padding-top:1em;
}

footer .logo {
    width:300px;
}

footer .tel,
footer .address,
footer .copyright{
	text-align:center;
	color:#fff;
}

footer .tel{
	font-size:150%;
}

footer .address{
	font-size:150%;
}

footer .icon-cover a img{
	width:60px;
}

footer .copyright{
	padding-top:2em;
	padding-bottom:1em;
}

@media screen and (max-width:799px){

	footer .waku{
		padding-top:2em;
		padding-bottom:2em;
	}

	footer .nav-ul1 {
		flex-wrap:wrap !important;
		flex-direction:row;
	}

	footer .nav-li{
		width:calc(100% / 3) !important;
	}

	footer .nav-ul1 .nav-a {
		padding-top:0.5em;
		padding-bottom:0.5em;
	}

	footer .logo-cover {
		padding-top:0em;
	}

	footer .tel{
		font-size:140%;
	}
	
	footer .address{
		font-size:120%;
	}

	footer .copyright {
		padding-top:1em;
		padding-bottom:0;
	}
}

/* ==========================================================
common pagetop button
============================================================= */

#pagetopButton {
	display:none;
    position:fixed;
    bottom:1em;
    right:1em;
	width:4em;
	height:4em;
	z-index:10000;
}

#pagetopButton .anchorLink {
	width:100%;
	height:100%;
	line-height:1.2;
	font-weight:var(--font-weight-bold);
    color:#fff;
	background-color:#000;
	border-radius:0.5em;
	cursor:pointer;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
}

#pagetopButton .anchorLink:hover {
	background-color:#999;
}

@media screen and (max-width:799px){
	#pagetopButton {
	    bottom:0.2em;
    	right:0.2em;
		width:3.5em;
		height:3.5em;
	}

	#pagetopButton .anchorLink:hover {
		background-color:#000;
	}

	#pagetopButton .anchorLink:active {
		background-color:#999;
		color:#000;
	}
}

/* =========================================================================
main 
============================================================================*/

/*  ===========================
indexページ 
===============================*/
/* =====================
indexページ  section-fv
======================== */

#id-fv > .all-center-full:before{
	content:"";
	background:url(images/common/fv.jpg) 50% 50% no-repeat;
	background-size:cover;	
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:1;
	margin:0 auto;
	min-width:1200px;
}

#id-fv .logo {
	position:relative;
	z-index:2;
    max-width:100%;
    margin:0 auto;
    height:calc(100vh - 126px);
    min-height:600px;
    max-height:800px;
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    text-align:center;
}

#id-fv .logo-in {
	padding:1em 0;
	background-color:rgba(255,255,255,0.5);
	width:100%;
}

#id-fv .logo img{
	filter:drop-shadow(0 0 0.7em #fff) drop-shadow(0 0 1em #fff);
}

@media screen and (max-width:799px){
	#id-fv > .all-center-full:before {
		width:480px;
		height:100%;
		background:url(images/common/fv.jpg) 41% 50% no-repeat;
		background-size:cover;
		min-width:auto;
	}

	#id-fv .logo {
		width:auto;
		height:725px;
		max-height:85vh;
	}
}

#id-fv {
	margin-bottom:10px;
	box-shadow:0 3px 3px #999;
}
#id-fv > .all-center-full.noBG:before {
	content:none;
}
#sliderBloc {
}
#sliderBloc .bx-wrapper img {
	width:100%;
	max-width:100%;
	height:720px;
	min-height:600px;
	max-height:80vh;
	object-fit:cover;
	border:0 none;
}
#sliderBloc #bx-pager a.active img {
	border-color:#000;
}
#sliderBloc #bx-pager a {
	background:#fff;
}
#sliderBloc #bx-pager a:not(.active) img {
	filter:grayscale(0.8) opacity(0.8);
}

#sliderBloc #bx-pager a:hover {
	opacity:1;
}
#sliderBloc #bx-pager a:not(.active):hover img {
	filter:grayscale(0.4) opacity(0.9);
	border-color:#666;
}




/*  ==================
indexページ main-index
======================*/

.main-index {
	position:relative;
	z-index:2;
}

/*  ================
indexページ newsList
====================*/

ul.newsList {
	margin:3em 1em 1em;
	padding:0.5em;
	border:#ccc;
	box-shadow:0 0 3px #999 inset;
	line-height:1.6;
	background-color:#f6f7f8;
}

ul.newsList li.newsInfo .newsInner {
	border-bottom:5px dotted #000;
}
ul.newsList li.newsInfo:last-child .newsInner {
	border-bottom:0 none;
}

ul.newsList li.newsInfo .newsInner > h3.flex {
	padding:1em 0.5em;
	display:flex;
	justify-content:flex-start;
	align-items:center;
	transition:all 0.4s ease;
	-webkit-transition:all 0.4s ease;
	cursor:pointer;
}

ul.newsList li.newsInfo .newsInner > h3.flex > span:nth-child(1) {
	width:12em;
	font-size:100%;
	text-align:right;
	padding-right:1em;
	font-weight:var(--font-weight-bold);
	color:#05519c;
}
ul.newsList li.newsInfo .newsInner > h3.flex > span:nth-child(2) {
	margin-right:auto;
}
ul.newsList li.newsInfo .newsInner > h3.flex:after {
	content:"▲記事を閉じる";
	margin-left:auto;
	font-size:100%;
	text-align:right;
	color:#000;
}

/* news top */
ul.newsList#p1 li.newsInfo:first-child .newsInner h3 > span:nth-child(1):before {
	content:"NEW";
	font-size:90%;
	font-weight:var(--font-weight-bold);
	color:#c00;
	padding-right:1em;
	-webkit-animation:1.5s animateBlink infinite alternate linear;
	animation:1.5s animateBlink infinite alternate linear;
}

/* open */
ul.newsList li.newsInfo .newsInner:not(.off) {
	background-color:#fff;;
}

ul.newsList li.newsInfo .newsInner.off > h3.flex:after {
	content:"▼記事を開く";
}

ul.newsList li.newsInfo .newsInner .description {
	display:none;
	width:100% !important;
	padding-top:1.5em;
	padding-bottom:1.5em;
	padding-left:1.5em !important;
	padding-right:1.5em !important;
	overflow:hidden;
	border-top:3px dotted #ccc;
}
ul.newsList li.newsInfo .newsInner .description > div.flex {
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-direction:row-reverse;
}

ul.newsList li.newsInfo .newsInner .description > div.flex .text {
	flex-grow:1;
	padding:0 1em;
}

.newsLinkButton {
	padding:0.5em 0.5em 0;
	text-align:right;
}

@media screen and (min-width:800px) {

	ul.newsList li.newsInfo .newsInner .description > div.flex .image {
		min-width:30%;
		max-width:30%;
		padding-left:20px;
	}
}

@media screen and (max-width:799px) {

	.section-news .waku{
		padding-bottom:0;
	}

	ul.newsList {
		margin:2em 1em 3em;
	}

	ul.newsList li.newsInfo .newsInner > h3.flex:active {
		background-color:#ccc;
	}
	
	ul.newsList li.newsInfo .newsInner > h3.flex {
		padding:5px;
		flex-wrap:wrap;
	}
	ul.newsList li.newsInfo .newsInner > h3.flex > span {
		line-height:1.6;
	}
	ul.newsList li.newsInfo .newsInner > h3.flex > span:nth-child(1) {
		width:100%;
		text-align:justify;
	}
	ul.newsList li.newsInfo.c0 .newsInner h3 > span:nth-child(1):before {
		padding-right:0.5em;
	}
	ul.newsList li.newsInfo .newsInner > h3.flex > span:nth-child(2) {
		padding-left:0.5em;
	}
	ul.newsList li.newsInfo .newsInner .description {
		padding-left:1em !important;
		padding-right:1em !important;
	}

	ul.newsList li.newsInfo .newsInner .description > div.flex {
		flex-direction:column;
	}
	ul.newsList li.newsInfo .newsInner .description > div.flex .image {
		width:80%;
		padding:0;
		margin:0 auto 20px;
		text-align:center;
	}
	ul.newsList li.newsInfo .newsInner .description > div.flex .text {
		width:100%;
	}
}

/*  ======================
indexページ section-artwork
==========================*/

.contents-all-artwork .contents-cover{
	padding-top:4em;
}

.contents-all-artwork .img-cover{
	width:calc(100% / 5);
	padding:0 0.5em;
}

.contents-all-artwork img {
    aspect-ratio:3/5;
    object-fit:cover;
    width:100%;
}

.contents-all-artwork .text {
    font-size:150%;
    line-height:2;
	text-align:center;
}

@media screen and (max-width:799px){

	.contents-all-artwork .contents-cover {
		padding-top:1em;
	}

	.contents-all-artwork .contents{
		flex-wrap:wrap;
		justify-content:center;
	}

	.contents-all-artwork .img-cover{
		width:calc(100% / 3);
		padding-top:1em;
		text-align:center;
	}
	
	.contents-all-artwork .text {
		font-size:140%;
		line-height:1.8;
		text-align:justify;
	}
}

/*  ====================
indexページ section-plan
========================*/

@media screen and (max-width:799px){

	.contents-all-plan .contents-cover {
		padding-top:0;
	}

	.contents-all-plan .contents{
		flex-direction:column;
	}

	.contents-all-plan .img-outer {
		width:100%;
		padding:2em 0 0 0; 
	}

	.contents-all-plan .text-cover{
		padding-top:1em;
	}

	.contents-all-plan .text {
		text-align:justify;
	}
}

/*  ===================
indexページ section-sns
=======================*/

.contents-all-sns .contents-wrapper{
	padding-top:3em;
	width:1030px;
	margin:0 auto;
}

.contents-all-sns .contents-cover{
	padding-top:0.5em;
}

.contents-all-sns .img-cover{
	width:75px;
}

@media screen and (min-width:800px){
	.contents-all-sns .instaImages>span{
		width:calc(100% / 4);
	}
	.contents-all-sns .instaImages>span:nth-child(n + 9){
		display:none;
	}
}
@media screen and (max-width:799px){

	.contents-all-sns {
		padding-top:2em;
	}
	
	.contents-all-sns .contents-wrapper {
		width:100%;
		padding-top:1em;
	}
	.contents-all-sns .instaImages>span:nth-child(n + 10){
		display:none;
	}
}

/* ============================
indexページ section-information
===============================*/

.contents-all-information .contents-cover{
	padding-top:5em;
}

.contents-all-information .img-cover{
	width:400px;
}

/* table */
.information-table-cover{
	padding:0 2em;
}

.information-table{
	border-collapse:collapse;
	margin:0 auto;
}

.information-table th ,
.information-table td {
	padding:0em;
}

.information-th ,
.information-td {
	padding-top:0.8em;
}

.information-tr:first-child th .information-th,
.information-tr:first-child td .information-td{
	padding-top:0.2em;
}

.information-th ,
.information-td,
.holiday {
	display:block;
	font-size:160%;
}

.information-th{
	padding-right:2em;
	text-align:right;
	color:#000;
}

.information-td{
	text-align:justify;
}

.holiday-cover{
	line-height:1;
}

@media screen and (max-width:799px){

	.contents-all-information .contents-cover {
		padding-top:3em;
	}

	.contents-all-information .contents{
		flex-direction:column;
		align-items:center;
	}
	
	.information-table-cover {
		padding-top:1.5em;
	}

	.information-th,
	.information-td{
		padding-top:1em;
		display:block;
	}

	.information-tr:first-child th .information-th,
	.information-tr:first-child td .information-td{
		padding-top:0;
	}
	
	.information-th,
	.information-td,
	.holiday{
		font-size:140%;
		font-weight:var(--font-weight-bold);
	}

	.information-th{
		white-space:nowrap;
		padding-right:1em;
	}
}

/*  ======================================================
posinglistページ
==========================================================*/

/*  =======================================
posinglistページ section-posinglist-about
============================================*/

.contents-all-posinglist-about .word-cover{
	padding:0 0.5em;
}

.contents-all-posinglist-about .word{
	text-align:justify;
}

/* contents */
.contents-all-posinglist-about .picture-waku-cover{
	padding-top:3em;
}

.contents-all-posinglist-about .picture-waku{
	background-color:#5c5a5b;
}

.contents-all-posinglist-about .picture-outer{
	width:calc(100% / 4);
	padding:0.5em;
}

.contents-all-posinglist-about .picture-wrapper{
	position:relative;
}

.contents-all-posinglist-about .picture-cover img{
	aspect-ratio:3 / 4;
	object-fit:cover;
    width:100%;
}

.contents-all-posinglist-about .picture-text-top {
	background-color:rgb(255, 255, 255,0.8);
    max-width:40px;
    border-radius:50%;
    aspect-ratio:1 / 1;
	display:flex;
}

.contents-all-posinglist-about .number {
	color:#000;
    padding:0;
    line-height:1;
	font-size:120%;
	font-weight:var(--font-weight-bold);
}

/* contents-all-access-button */
.contents-all-button-access .button2-wrapper {
    padding:1em;
    width:calc(100% / 2);
    width:auto;
}

@media screen and (max-width:799px){

	.contents-all-posinglist-about .word-cover{
		padding:0;
	}

	.contents-all-posinglist-about .word{
		line-height:1.7;
	}

	.contents-all-posinglist-about .contents-cover {
		padding-top:0;
	}

	.contents-all-posinglist-about .contents{
		flex-direction:column;
	}

	.contents-all-posinglist-about .picture-waku-cover{
		padding-top:2em;
	}

	.contents-all-posinglist-about .picture-waku{
		padding:0.5em;
	}

	.contents-all-posinglist-about .picture-outer {
		padding:0.1em; 
	}

	.contents-all-posinglist-about .picture-text-top {
		max-width:auto;
		top:0.5vw;
		line-height:1;
		padding:0;
		min-width:20px;
        padding:0;
	}

	.contents-all-posinglist-about .number {
		font-size:90%;
	}

	.contents-all-posinglist-about .text-cover{
		padding-top:1em;
	}

	.contents-all-posinglist-about .text {
		text-align:justify;
	}
}

/*  ======================================================
planページ
==========================================================*/

/*  ===================
planページ section-plan
=======================*/

.contents-all-plan2 .title-waku{
	padding-top:3em;
	text-align:center;
}

.contents-all-plan2 .title{
	font-size:180%;
}

.contents-all-plan2 .title-text-cover{
	padding:1.5em 0;
}

.contents-all-plan2 .title-text{
	font-size:120%;
}

/* contents-all-plan2-short */
.contents-all-plan2-short .picture-outer {
    padding:0.5em;
}

.contents-all-plan2-short .picture-wrapper {
	height:100%;
}

.contents-all-plan2-short .picture-cover {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
}


.picture-text-center {
	position:relative;
	z-index:2;
    background-color:rgb(255, 255, 255, 0.85);
    backdrop-filter:blur(0.2em);
    border-radius:1em;
    color:#000;
    line-height:1.4;
	text-align:center;
	min-height:100%;
	padding:1.2em;
}

.contents-all-plan2-short .amount-cover {
    padding-top:1em;
}

.contents-all-plan2-short .time-cover {
    padding-top:0.5em;
}

.contents-all-plan2-short .plan-title,
.contents-all-plan2-short .amount,
.contents-all-plan2-short .tax-separate{
	font-weight:var(--font-weight-bold);
}

.contents-all-plan2-short .plan-title{
	font-size:170%;
}

.contents-all-plan2-short .amount {
    font-size:170%;
}

.contents-all-plan2-short .text-cover {
    padding:1em 0.5em 0;
}

.contents-all-plan2-short .text{
	font-size:120%;
	text-align:center;
}

.contents-all-plan2-short .kome-cover{
	padding-top:1em;
	line-height:1.6;
}

.contents-all-plan2-short .kome{
	text-align:center;
}

/* .contents-all-plan2-short wide*/
.contents-all-plan2-short.wide .picture-outer {
    width:100%;
}

/* contents-all-plan2-cancel */
.contents-all-plan2-cancel .title{
	font-weight:var(--font-weight-bold);
}

.contents-all-plan2-cancel .amount-outer{
	padding-top:1em;
}

.contents-all-plan2-cancel .amount-wrapper{
	padding-top:1.5em;
	text-align:center;
}

.contents-all-plan2-cancel .amount-cover{
	padding-top:0;
}

.contents-all-plan2-cancel .amount{
	font-size:160%;
}

.contents-all-plan2-cancel .kome-cover{
	text-align:center;
	padding-top:2em;
}

@media screen and (max-width:799px){

	/* contents-all-plan2-short */
	.contents-all-plan2-short .picture-outer {
		width:100%;
		padding:1em 0 0;
	}

	.contents-all-plan2-short .picture-text-top {
		padding:2em 0;
	}

	/* .contents-all-plan2-short.wide */
	.contents-all-plan2-short.wide .picture-text-top {
		padding:2em;
	}

	.picture-text-top-cover {
		padding:1.2em;
	}
	.picture-text-center {
	    padding:2em 1em;
	}

	.contents-all-plan2 .title-text {
		font-size:110%;
	}

	.contents-all-plan2-short.wide .plan-title {
		font-size:140%;
	}

	.contents-all-plan2-short.wide .amount {
		font-size:130%;
	}

	.contents-all-plan2-short.wide .text {
		text-align:justify;
		line-height:1.6;
		font-size:115%;
	}

	.contents-all-plan2-short.wide .kome-cover {
		padding-top:0.5em;
		line-height:1.6;
	}

	.contents-all-plan2-short.wide .kome-cover + .kome-cover {
		padding-top:0;
	}

	.contents-all-plan2-short.wide .kome {
		text-align:justify;
	}

	.contents-all-plan2-short.wide .kome.ajust {
		text-align:center;
	}

	/* contents-all-plan2-cancel */
	.contents-all-plan2-cancel .amount {
		font-size:135%;
	}
}

/*  ======================================================
studioページ
==========================================================*/

/*  =======================
studioページ section-studio
===========================*/

.contents-all-studio .img-wrapper{
	padding-top:3em;
	text-align:center;
}

.contents-all-studio .contents-all-plan2-short.wide .text {
	line-height:1.8;
}
.contents-all-studio .contents-all-plan2-short.wide .text + .text {
	padding-top:0.8em;
}

@media screen and (max-width:799px){
	.contents-all-studio .contents-all-plan2-short.wide .text {
		line-height:1.7;
	}
}

/*  ======================================================
galleryページ
==========================================================*/

/*  ============================
galleryページ section-gallery
================================*/

.contents-all-gallery .text-wrapper{
	padding-top:3em;
}

.contents-all-gallery .picture-outer {
    width:calc(100% / 4);
	padding:0.5em;
}

.contents-all-gallery .picture-cover img {
    aspect-ratio:1/1;
    object-fit:cover;
    width:100%;
	height:100%;
}

@media screen and (max-width:799px){

	.contents-all-gallery .text-wrapper {
		padding-top:1em;
	}

	.contents-all-gallery .text-cover {
		padding-top:1em;
		width:calc(100% / 2);
	}
	
	.contents-all-gallery .picture-outer {
		width:calc(100% / 2);
	}

	.contents-all-gallery .picture-waku-cover {
        padding-top:2em;
    }
}

/*  ======================================================
staffページ
==========================================================*/
/*  ========================
staffページ section-staff
============================*/

.contents-all-staff .contents-wrapper{
	padding-top:4em;
}

.contents-all-staff .contents-cover + .contents-cover{
	padding-top:3em;
}

.contents-all-staff .contents {
	background-color:rgba(255,255,255,0.85);
	padding:3em;
}

.contents-all-staff .img-cover {
	width:30%;
}

.contents-all-staff .text-wrapper {
	width:70%;
	padding:0 3em;
}

.contents-all-staff .img-cover img {
	aspect-ratio:1/1;
	object-fit:cover;
	width:100%;
	height:100%;
}

.contents-all-staff .title-cover {
	text-align:center;
}

.contents-all-staff .title {
	font-size:150%;
}

.contents-all-staff .hometown-hobby{
	padding-top:1em;
}

.contents-all-staff .sentence{
	padding-top:1em;
}

.contents-all-staff .text{
	font-size:110%;
}

@media screen and (max-width:799px){

	.contents-all-staff .contents-wrapper {
		padding-top:1em;
	}

	.contents-all-staff .contents {
		flex-direction:column;
		padding:2em;
	}

	.contents-all-staff .img-cover {
		width:100%;
	}

	.contents-all-staff .title {
		font-size:140%;
	}

	.contents-all-staff .text-wrapper {
		width:100%;
		padding:1em 0 0 0;
	}

	.contents-all-staff .hometown-hobby {
		padding-top:0.5em;
	}
}

/*  ======================================================
reserveページ
==========================================================*/
/*  ========================
reserveページ section-reserve
============================*/
@media screen and (max-width:799px){
	#id-reserve .word-wrapper {
		padding:1.5em 1em 0;
	}
}

/*  ==========================
reserveページ section-flowchart
==============================*/

.contents-all-plan2-short.flowchart .picture-waku-cover {
    padding-top:3em;
}

.contents-all-plan2-short.flowchart .reserve-text-cover{
	padding-top:1em;
}

.contents-all-plan2-short.flowchart .reserve-text {
    font-size:110%;
	line-height:1.6;
	text-align:justify;
}

.contents-all-plan2-short.flowchart .picture-text-top-cover {
    padding:3em;
    height:100%;
}

.contents-all-plan2-short.flowchart .picture-text-center {
    padding:3em;
    justify-content:flex-start;
}


@media screen and (max-width:799px){

	/*  =========================
	reserveページ section-reserve
	=============================*/

	.contents-all-reserve .button1-cover {
		padding-top:2em;
	}

	/*  ==========================
	reserveページ section-flow
	==============================*/
	.contents-all-plan2-short.flowchart .picture-waku-cover {
		padding-top:1em;
	}

	.contents-all-plan2-short.flowchart .picture-text-top-cover {
		padding:1.5em;
	}

	.contents-all-plan2-short.flowchart .picture-text-top {
		padding:2em;
		justify-content:flex-start;
	}

	.contents-all-plan2-short.flowchart .plan-title {
		font-size:160%;
	}
	/*  =======================
	statusページ section-status
	===========================*/

	.contents-all-status .word-wrapper{
		padding-top:1.5em;
	}

	.contents-all-status .word{
		line-height:1.8;
		text-align:center;
	}

	.contents-all-plan2-short.flowchart .picture-text-center {
		padding:2em 1.5rem;
	}

}

/*  ======================================================
recruitページ
==========================================================*/
/*  ========================
recruitページ section-recruit
============================*/

.contents-all-recruit .contents-waku-cover{
	padding-top:5em;
}

.contents-all-recruit dl {
    display:flex;
	justify-content:stretch;
	align-items:flex-start;
    flex-wrap:wrap;
	width:100%;
}

.contents-all-recruit dt,
.contents-all-recruit dd{
    border-top:1px solid #c1c1c1;
	padding:2.5em 1em;
	font-size:110%;
}
.contents-all-recruit dt:last-of-type,
.contents-all-recruit dd:last-of-type {
    border-bottom:1px solid #c1c1c1;
}

.contents-all-recruit dt {
	width:33%;
	font-weight:var(--font-weight-bold);
}

.contents-all-recruit dd {
    width:67%;
	text-align:justify !important;
}

.contents-all-recruit .recruit-ajust{
	padding-top:1em;
	display:block;
}

@media screen and (max-width:799px){

	.contents-all-recruit .contents-waku-cover {
		padding-top:2em;
	}

	.contents-all-recruit dl.contents  {
		flex-direction:column;
		align-items:center;
	}

	.contents-all-recruit dt,
	.contents-all-recruit dd {
		width:100%;
	}

	.contents-all-recruit dt{
		border-top:1px solid #c1c1c1;
		padding-top:1.5em !important;
		padding-bottom:0;
		font-size:120%;
	}
	
	.contents-all-recruit dd{
		padding-left:2em;
		border-top:0 none;
		padding-top:0.5em !important;
		padding-bottom:1.5em !important;
	}

	.contents-all-recruit .recruit-ajust{
		padding-top:1em;
	}

	.contents-all-recruit dd.dd-left {
		text-align:left !important;
	}
	.contents-all-recruit dt:last-of-type {
		border-bottom:0 none;
	}


	.contents-all-recruit .button1-cover {
		padding-top:1.5em;
	}
}

/*  ======================================================
contactページ
==========================================================*/
/*  ============================
contactページ section-contact
================================*/

.contents-all-contact .text-wrapper{
	text-align:center;
	padding:3em 0;
}

.contents-all-contact .text-cover{
	display:inline-block;
	text-align:justify;
}

.contents-all-contact .text{
	font-size:110%;
}

@media screen and (max-width:799px){
}



/* ============================================================================================
	spotlight override
============================================================================================= */
body #spotlight {
	font-family:'Noto Serif JP',serif;
}
body #spotlight .header {
	height:60px;
}
body #spotlight .header div {
	width:80px;
	height:60px;
	padding-top:20px;
	opacity:0.7;
}
body #spotlight .icon {
	background-size:40px;
}

body #spotlight .footer {
	left:0;
	right:0;
	text-align:center;
}

.spotlight-cell {
	position:relative;
}
.spotlight-cell .base {
	position:relative;
	z-index:1;
}
.spotlight-cell .number {
	position:absolute;
	top:calc(1em + 360px - 1.4em);
	right:0.2em;
	z-index:2;
	display:block;
	width:1em;
	line-height:1.4em;
	color:#fff;
	background:rgba(0,0,0,0.4);
	text-align:center;
	display:none;
}

.spotlight-cell .spotlight-group {
	position:absolute;
	top:1em;
	left:0.2em;
	right:0.2em;
	z-index:3;
	display:block;
	height:360px;
	background:rgba(0,0,0,0);
	cursor:pointer;
	-webkit-transition:all 0.2s ease;
	transition:all 0.2s ease;
}
.spotlight-group .spotlight {
	cursor:pointer;
}
.spotlight-group .spotlight:hover:after {
	content:"";
	position:absolute;
	top:0;
	left:0;
	display:block;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.1);
}

.spotlight-cell .spotlight {
	position:absolute;
	top:0;
	right:0;
	display:block;
	width:100%;
	height:100%;
	z-index:5;
}
.spotlight-cell .spotlight:nth-child(1) {
	z-index:6;
}



/* ============================================================================================
	override
============================================================================================= */
.check-list {
	font-size:150%;
}
.check-list input[type="checkbox"]{
	width:0.8em;
	aspect-ratio:1/1;
}


.message {
	text-align:center;
}
.message h3 {
	font-size:180%;
	font-weight:var(--font-weight-bold);
}
.message p {
	line-height:2;
	font-size:130%;
	padding:1em 0 3em;
}

@media screen and (max-width:799px){
	.message {
		padding-top:1em;
	}
	.message p {
		font-size:110%;
	}
}


/* ========================================================================
	news list
======================================================================== */
.newsList {
	width:calc(100% - 2em) !important;
}
.newsList:not(#p1) {
	display:none;
} 

.pager {
	padding:1em;
	display:flex;
	justify-content:flex-end;
	flex-wrap:wrap;
}
.pager li {
	padding:0 0.2em;
}
.pager li div {
	width:2em;
	aspect-ratio:1/1;
	font-size:120%;
	color:#ccc;
	background:rgba(0,0,0,0.8);
	border:1px solid #999;
	border-radius:0.2em;
	display:flex;
	justify-content:center;
	align-items:center;
	cursor:pointer;
}
.pager li div.on {
	font-weight:var(--font-weight-bold);
	color:#fff;
	background:rgba(255,102,204,0.8);
	border-color:#ccc;
}
.pager li div:not(.on):hover {
	color:#fff;
	border-color:#ccc;
}


/* ========================================================================
	home > price list
======================================================================== */
.picture-outer2 {
	padding-bottom:1px;
}

.picture-wrapper2.flex {
}

.picture-wrapper2.flex .picture-text-top2 {
	width:60%;
	padding:0.5em 0;
}
.picture-wrapper2.flex .picture-text-under2 {
	width:40%;
	padding:0.5em 0;
	backdrop-filter:blur(0.1em);
}

.picture-text-top2 {
	line-height:1.4;
	color:#fff;
	background:#3e3a39;
	font-family:"Libre Baskerville",'Noto Serif JP', serif;
}
.picture-text-top2 .name-en {
	line-height:1.2;
	font-size:180%;
	padding:0 0.5em 0.3em;
	text-align:center;
}
.picture-text-top2 .name-en small{
	font-size:80%;
}
.picture-text-top2 .name-ja {
	padding-top:0.2em;
	font-size:140%;
}

.bg1 .picture-text-under2 {
	background:rgba(153,204,255,0.6);
}
.bg2 .picture-text-under2 {
	background:rgba(102,255,204,0.6);
}
.bg3 .picture-text-under2 {
	background:rgba(255,204,255,0.6);
}
.bg4 .picture-text-under2 {
	background:rgba(255,204,0,0.6);
}
.bg5 .picture-text-under2 {
	background:rgba(255,255,0,0.6);
}
.bg6 .picture-text-under2 {
	background:rgba(204,102,255,0.6);
}


@media screen and (max-width:799px){
	.picture-wrapper2.flex .picture-text-top2 {
		width:52%;
	}
	.picture-wrapper2.flex .picture-text-under2 {
		width:48%;
	}


	.picture-text-top2 .name-en {
		font-size:120%;
	}
	.picture-text-top2 .name-ja {

		font-size:100%;
	}

	.picture-text-under2.flex {
	}
	.picture-text-under2 .amount-cover.flex {
		align-items:flex-end;
		flex-direction:column;
	}
	.picture-text-under2 .amount {
		padding-right:0.3em;
		line-height:1;
		font-size:140%;
	}
	.picture-text-under2 .amount2 {
		line-height:1.4;
		font-size:100%;
	}
	.picture-text-under2 .amount3 {
		padding-right:0.3em;
		line-height:1;
		font-size:130%;
	}
	.picture-text-under2 .tax-separate {
		font-size:90%;
	}
}



.notes-text {
	padding-bottom:1rem;
	display:flex;
	justify-content:center;
}
.notes-text > p {
	min-width:50%;
	padding:0.5rem 2rem;
	font-size:110%;
	background:#fff9;
	backdrop-filter:blur(0.3rem);
	border:2px solid #f60; 
	border-radius:0.5rem;;
	text-align:center;
}




/* ========================================================================
	photographer
======================================================================== */
.contents-all-staff > li {
	padding-top:4em;
}
.staff-cell {
	padding:3em 2em;
	background:rgba(255,255,255,0.6);
}

.staff-image{
	padding-right:1em;
}
.staff-image img {
	width:8em;
	aspect-ratio:1/1;
	object-fit:cover;
	border-radius:50%;
}
.staff-label {
	padding-bottom:1em;
}
.staff-sex {
	padding:0.1em 1.5em;
	font-size:90%;
	font-weight:var(--font-weight-bold);
	color:#fff;
	background:#99c;
	border-radius:2em;
}
.sex-1 .staff-sex {
	background:#e99;
}
.sex-0 .staff-sex:before {
	content:"男性";
}
.sex-1 .staff-sex:before {
	content:"女性";
}

.staff-name {
	margin:auto 0;
	padding-left:1em;
}
.staff-name span {
	font-size:200%;
	font-weight:var(--font-weight-bold);
}
.staff-name span.small {
	font-size:150%;
}

.staff-head-right.flex {
	gap:1em;
}
.staff-icon img {
	width:3em;
	border:1px solid #fff;
	border-radius:0.4em;
}
.staff-icon a {
	display:block;
}
.staff-icon a:hover {
	opacity:unset;
	filter:drop-shadow(0 0 0.3em #999);
}

.staff-photos {
	padding:2em 2em 1em;
}
.staff-slider {
}
.staff-photo {
	padding:0 0.5em;
}
.staff-photo img {
	border:4px solid #fff;
	box-shadow:3px 3px 6px #ccc;
}

.staff-profile {
	padding-top:1em;
}
.flex.col3 > .staff-prof-cell {
	flex-grow:1;
	padding:0 0.5em;
}
.staff-prof-inner {
	height:100%;
	padding:1em 1em 1.5em;
	box-shadow:1px 1px 6px #ccc;
}
.staff-prof-inner .head {
	font-size:100%;
	font-weight:var(--font-weight-bold);
}
.staff-prof-inner .body {
	font-size:90%;
	padding-top:0.5em;
	padding-left:1em;
}

@media screen and (max-width:799px){
	.staff-cell {
		padding:1.5em 1em;
	}
	.staff-image {
		padding-right:0.5em;
	}
	.staff-image img {
		width:5em;
	}
	.staff-sex {
		padding:0.1em 1em;
		font-size:75%;
	}
	.staff-name span {
		font-size:180%;
	}
	.staff-head-right.flex {
		gap:0.3em;
	}
	.staff-icon img {
		width:2.8em;
	}
	.staff-photos {
		padding:1.5em 3em;
	}
	.staff-photo {
		padding:0;
	}
	.staff-photo img {
		box-shadow:none;
	}
	.staff-photos .bx-viewport {
		box-shadow:0 0 6px #ccc;
	}
	.staff-photos .bx-wrapper img {
		max-width:100%;
	}

	.staff-photos .bx-wrapper .bx-controls-direction a {
		filter:invert(1) brightness(2) opacity(0.6);
	}
	.staff-photos .bx-wrapper .bx-prev {
		left:-40px;
	}
	.staff-photos .bx-wrapper .bx-next {
		right:-40px;
	}
	.staff-photos .bx-wrapper .bx-pager {
		position:relative;
		padding-top:1em;
		bottom:unset;
		display:flex;
		justify-content:center;
		align-items:center;
		gap:0.8em;
	}
	.staff-photos .bx-wrapper .bx-pager.bx-default-pager a {
		width:1em;
		height:1em;
		margin:0;
		text-indent:-9999px;
		background:#ccc;
		border-radius:50%;
	}

	.staff-profile.flex {
		padding-top:0;
		flex-direction:column;
		gap:0.5em;
	}
	.staff-profile.flex + .staff-profile.flex {
		padding-top:0.5em;
	}

	.staff-profile.flex.col3 > * {
		width:100%;
	}
	.staff-prof-inner .head {
		font-size:110%;
	}
	.staff-prof-inner .body {
		font-size:100%;
	}
}

