@charset "utf-8";




#main-visual { 
	position:relative; width:100%; max-width:1280px; 
	height:clamp( calc(40vh + 140px), 85vh, 700px);  
	margin:auto;
}

#onslide-menu {
	display:block;
	position:absolute; top:50%; left:0; right:0; width:100%;
	text-align:center; 
	z-index:4; 
	color:#fff;
	transform:translateY(-65%);
}
#onslide-menu .precaption {
	font-size:clamp(1.1em,4.75vw,1.4em); font-weight:900;
	letter-spacing:0.2em; text-indent:0.2em;
	margin:0 auto clamp(0.5em,4.5vw,1.5em);
	text-shadow:0 0 2px rgba(0,0,0,0.5), 0 0 6px rgba(0,0,0,0.25);	
}
#onslide-menu .menu-wrapper {
	margin: 0 auto;
	width:clamp(280px,86vw,520px);
	/*width:clamp(280px,86vw,560px);*/
}
#onslide-menu a,
#onslide-menu span.alt-a {
	display:block; color:#fff;
	width:clamp(9em,45vw,13.25em); 
	/* width:clamp(9em,45vw,14.5em);*/
	height:auto; aspect-ratio:1 / 1;
}
@media (max-width:640px) {
	#onslide-menu { top:auto; bottom:50%; transform:translateY(45%);}
	#onslide-menu .menu-wrapper {
		width:clamp(280px,86vw,450px);
	}	
	#onslide-menu a, 
	#onslide-menu span.alt-a { 
		width:clamp(8em,40vw,12em);
		/* width:clamp(8em,43.5vw,13em); */
	}
}
@media (max-width:480px) {
	#onslide-menu .menu-wrapper {
		width:clamp(280px,94vw,450px);
	}	
	#onslide-menu a, 
	#onslide-menu span.alt-a { 
		width:clamp(8em,45vw,13.5em);
	}
}

#onslide-menu .inner {
	display:flex; flex-direction: column;
	align-items:center;
	text-align:left;
	margin:auto;
	width:100%; height:100%;
	padding:1rem;
	transition:all 0.33s linear 0s;
}
#onslide-menu .inner.left-side {
	background:var(--sub-translu);
	border:2px solid transparent;
}
#onslide-menu .inner.right-side {
	background:var(--alt-translu);
	border:2px solid transparent;
}
#onslide-menu a .inner:hover {
	background:rgba(11,11,11,0.5); filter:saturate(275%); transition:all 0.14s linear 0s;
	backdrop-filter:blur(7px);
	-webkit-backdrop-filter:blur(7px);
}
#onslide-menu a .inner.left-side:hover {border:2px solid var(--sub-color); color:var(--sub-color); transition:all 0.14s linear 0s;}
#onslide-menu a .inner.right-side:hover {border:2px solid var(--alt-color); color:var(--alt-color); transition:all 0.14s linear 0s;}
#onslide-menu .inner > span {
	display:block; width:100%; text-align:left; margin:auto;
	/*font-size:180%; */
	font-size:160%; 
	font-weight:500; line-height:1.2;
	letter-spacing:0.125em;
}
@media (max-width:768px) {
	#onslide-menu .inner > span { 
		/* font-size:clamp(120%,4.25vw,180%); */
		font-size:clamp(125%,4.05vw,160%);
	}
}
@media (max-width:480px) {
	#onslide-menu .inner > span { 
		font-size:clamp(125%,3.75vw,150%);
	}	
}


.theme-box {
	display:inline-block; color:#fff;
	width:clamp(9rem,100%,18rem); height:auto; aspect-ratio:1 / 1;
	display:flex; flex-direction: column;
	align-items:center;
	text-align:left;
	margin:auto;
	padding:1.25rem;
	transition:all 0.33s linear 0s;
}
.theme-box.violet {
	background:var(--sub-translu);
}
.theme-box.yellow {
	background:var(--alt-translu);
}
.theme-box.gra {
	background:var(--gra-translu);
}
.theme-box span {
	display:block; width:100%; text-align:left; margin:auto;
	font-size:1.7rem; font-weight:500; line-height:1.4;
	letter-spacing:0.075em;
}




footer address .address {
	height:1.1em; margin:0 0.5em; line-height:1;
}
.about img.address {
	display:inline-block;
	height:1.1em; margin:0 0.75em 0 0; line-height:1;
}


/* header to body --- */
.toppage .hero-image { height:92.5vh; position:relative;}
.hero-image #header-midlayer { height:100%; top:0; bottom:0; }
.header-image {/**/}


.scroll-down {text-align:center; position:absolute; bottom:1.5em; left:0; right:0; margin:0 auto; z-index:5;}
.scroll-down img {border-radius:100%; border:1px solid #fff; transition:all 0.44s linear 0s; animation:bounding 2.55s ease-in-out 0.5s infinite alternate;}
.scroll-down img:hover {background:rgba(255,255,255,0.3); border:1px solid transparent; box-shadow: 0 0 12px 0px rgba(184,27,244,0.35); transition:all 0.24s linear 0s; animation-play-state: paused;} 
@keyframes bounding {
    0%{opacity:1; transform:scale(1);}
    80%{opacity:1; transform:scale(1);}
    100%{opacity:0.85; transform:scale(0.8); }
}

/* + - + - + - + - + - + - + - + - + - +   swiper  + - + - + - + - + - + - + - + - + - + - +*/

.swiper-slide {display:inline-block; height:100% !important; margin:0; text-align:center;}
.swiper-slide dl {width:100%; margin:10px 0; padding:0;}
.swiper-slide dt {width:100%; margin:0; padding:0; text-align:center; line-height:1.5em; }
.swiper-slide dd{width:100%; margin:0; padding:0.5em 4%; text-align:left;  line-height:1.5em; }	
.swiper-slide img { width:100%; margin:0 auto;} 

.swiper-button-prev, .swiper-button-next {opacity:0.75; transition:all 0.3s linear 0s;}
.swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled {opacity:0 !important; transition:all 0.3s linear 0s;}
.swiper-pagination { text-align: right; padding: 5px 0;}
.swiper-pagination-bullet {margin-right:8px;}
.swiper-pagination-switch {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 8px;
	margin: 0 4px;
	background-color: #000;
	border: 1px solid #f4b;/*#188A77;*/
	cursor: pointer;
	transition: all .25s linear;
}
.swiper-active-switch {background-color: #16AC94;}

.swiper-container0 {
	position:fixed; top:0; right:0; bottom:0; left:0;
	width: 100%; height:100vh; text-align:center; margin:0 auto;
	overflow:hidden; z-index:-2;
}
.swiper-container0 .swiper-slide {
	width: 100vw;
	height: 100vh; margin:0 auto 0; text-align:center;
	background-size:cover !important; background-repeat:no-repeat !important;
	z-index:-100;
}

.swiper-slide > a {display:block; text-align:left;}


#slide0-0 {background:url(./img/photo/slide/0.jpg); background-position:center center;}
#slide0-1 {background:url(./img/photo/slide/1.jpg); background-position:center center;}
#slide0-2 {background:url(./img/photo/slide/2.jpg); background-position:center center;}
#slide0-3 {background:url(./img/photo/slide/3.jpg); background-position:center center;}
#slide0-4 {background:url(./img/photo/slide/4.jpg); background-position:center center;}






@media (min-width:1016px) and (max-width:1279px) {

}
@media (max-width:1015px) {

}


@media (min-width:801px) and (max-width:1220px) {


}



@media (max-width:800px) {

	#main-visual {
		height:clamp(80vmin,calc(75vw + 80px),640px);
		min-height:auto; max-height:auto; 
	}

	.swiper-container0 {
		top:80px; right:0; bottom:auto; left:0;
		width: 100%; height:clamp(80vmin,calc(75vw + 80px),640px);
	}	
	.swiper-container0 .swiper-slide {
		width: 100vw; height: 100%; 
		background-size:cover; background-repeat:no-repeat !important;
	}


	#body-menu {
		background-image:linear-gradient(150deg, rgba(255,255,255,0.7), rgba(255,255,255,0.7) 100%), url(./img/photo/slide/fuji1.jpg); 
		background-position:0 0,center center;
		background-repeat:repeat, no-repeat; 
		background-size:cover, auto 100%;
	}
	
	
	.swiper-container0 {width: 100%; height:100vh; min-height:360px;}

	.swiper-pagination { text-align: center; bottom:2px !important;}

	h1 {margin-left:0 !important; margin-right:0 !important;}
	h1 span.blog-post-title {font-size:62.5%; line-height:1.15em !important;}	
	h1 img {width:170px; top:7.5%; opacity:0.7;}


	dl.each-item dd {width:100%; padding:0 1.5rem 1rem; line-height:1.5em;}


}


/*
	.toppage h1 {height:1.25em; white-space:nowrap; overflow:auto;}
	.toppage #logo { position:absolute; left:0; top:0; max-width:120px; text-align:left;}
	
	
	.toppage h1 {margin-bottom:0.35em; padding:0 0.15em; font-size:11px; text-align:center; font-feature-setting:palt;}
	.toppage #logo { position:absolute; left:-0.5em; top:0; max-width:220px; text-align:left;}	
*/



@media (min-width:601px) {	

}
@media (max-width:600px) {
	#main-visual {
		height:clamp(390px,120vmin,85vh);
	}
	.swiper-container0 {
		top:80px; right:0; bottom:calc(15vh - 80px); left:0;
		width: 100%; height:clamp(390px,120vmin,85vh);
	}
}
@media (max-width:480px) {
	.swiper-container0 {
		top:70px; right:0; bottom:calc(20vh - 70px); left:0;
	}	
}

@media (max-width:420px) {



}





#news-info {padding:2.5em 0; background: var(--bg-texture)}
@media (hover: hover) {
	#news-info  {background-attachment:fixed;}
}
#news-info :is(th, td) {border:none; vertical-align:top;}



#introduction {padding:1em 0 6em;}
#introduction .container {max-width:880px; padding-inline:1em;}

#introduction .post-body h3 {
	margin:1.125em 0; padding:0; border:none;
}

#body-menu  {
	padding:2em 0 4em;
	background:rgba(255,255,255,0.6);
	-webkit-backdrop-filter:blur(6px);
	backdrop-filter:blur(6px);
}


#body-menu .each-menu {text-align:center;}
#body-menu img.eyecatch {transition:all 0.3s ease 0s; width:95%; height:auto; aspect-ratio:4 / 3; object-fit:cover; margin:0 auto 0.5rem;}
/*
#body-menu img {transition:all 0.3s linear 0s; width:auto; height:220px; margin:auto;}
#body-menu img.illust{transition:all 0.3s linear 0s; width:auto; height:180px; margin:1rem auto;}
*/
#body-menu img:hover, #body-menu dl:hover img {opacity:1; transition:all 0.14s linear 0s;}
#body-menu div.each-menu {background:transparent; margin:0; padding:0;}
#body-menu div.each-menu p.headline {
	margin:0.675em auto 0; text-align:center;
	font-size:1.6em; letter-spacing:0.125em;  line-height:1.35;
	font-weight:500; font-family:var(--sans-rob);
}
#body-menu div.each-menu p.caption {
	margin:0.675em auto 0.25em; text-align:center; 
	font-size:1em;  line-height:1.5;
}
#body-menu div.each-menu a {width:100%; height:100%; padding:3em 1em; transition:all 0.5s linear 0s;}
@media (hover: hover) {
	#body-menu div.each-menu a:hover { background:rgba(255,255,132,0.4); transition:all 0.34s linear 0s;}
	#body-menu div.each-menu a:hover img { transform:scale(1.025); transition:all 0.12s ease 0s;}
}

#body-menu dt {font-size:130%;}
#body-menu dd.caption {padding:0; font-size:80%; color:hotpink; line-height:1.35em;}
#body-menu div a {color:#444;}
#body-menu div span.dummy-btn-gray {
	display:inline-block; margin:1em 0; padding:0.75em 1em; border:1px solid #797979; 
	background:#FFF; color:#666;
}
#body-menu .each-menu .gbtn-accent:hover {background:transparent;}



.motto {text-align:center; padding:0 0.5em 1em; }


.toppage #duo-box h2 {margin-top:1em;}
.toppage #duo-box img {
	width:90%; max-width:310px; margin:2em auto 0em;
}	

.headline-box p {
	font-size:330%; color:#fff;
	font-family:'Lobster';
	line-height:2em;
	text-align:center;
	transform:rotate(-5deg);
}


#videos {padding:4em 0 4em;}
#videos h2 {margin:0.75em auto 0.75em;}
.vWrap {
	overflow:hidden;
}
.vWrap iframe {
	aspect-ratio:16 / 9;
	width:100%; height:auto; 
	border-radius:var(--radius-bnr);
}
@media only screen and (max-width: 768px) {
	.vWrap{
		position: relative;
		margin: 0.5em 0 1.2em;
		padding:69px 0 50%;
		overflow: hidden;
	}
	.vWrap iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}



#low-row {padding-bottom:6em;}
#fb-page-wrapper {text-align:center; overflow:hidden;}
#fb-page-wrapper #fb-page {margin-inline:auto;}



.front-page .sb_instagram_header {display:none;}
.front-page #insta-feed {margin-top:-5px; margin-bottom:1.5em;}
.front-page .sbi_load_btn {	border-radius:0 !important;}
.front-page .sbi_follow_btn.sbi_custom a {
	background:var(--acc-color) !important;
	border-radius:0 !important;
}
.front-page .sbi_follow_btn.sbi_custom a:hover,
.front-page .sbi_follow_btn.sbi_custom a:focus,
.front-page .sbi_follow_btn.sbi_custom a:active, 
.front-page .sbi_follow_btn.sbi_custom a:visited {box-shadow: inset 0 0 10px 20px #a356ba !important;}
.front-page div#sbi_images {padding:0 !important;}
.front-page div#sbi_images .sbi_item .sbi_photo_wrap {
	padding:5px !important;
}
.front-page div#sbi_load {margin-top:1em !important;}





/* ******* ****** ****** ******* ******* ******* 
 Subpage Common
*/

/* *****  ***** */

.subpage #page-title {
	/*background:var(--bg-color-slight);*/
	background: #f0f0f0 url(./img/bg/hisi-kaiha-hai-025.svg) repeat 0 0;
}

.eyecatch-cell {
	position:relative; z-index:4;
	aspect-ratio:2 / 1;
	overflow:hidden;
}
.eyecatch-cell span.imgframe {
	display:flex; width:100% !important; min-width:100%; height:auto; margin:0; vertical-align:top; overflow:hidden; 
	background-repeat:no-repeat; background-size:cover; background-position:center center;
	text-align:center;
}
:not(.solo).eyecatch-cell span.imgframe:after { content:""; display:block; padding-top:50%;}
.solo.eyecatch-cell span.imgframe:after { content:""; display:block; padding-top:33.33%;}

.eyecatch-cell img.eyecatch {
	height:100%;
	aspect-ratio:2 / 1;
	object-fit:cover;
	object-position:50% 50%;
}
:is(.directors) .eyecatch-cell img.eyecatch {
	object-fit:contain;
}

.title-cell {
	position:relative; z-index:6;
}
.excerpt-cell {
	position:relative; z-index:5;
}


.fixed-page #title-and-summary h1 {
	padding:0; text-align:left;
	font-feature-settings:"palt";
	font-family:var(--sans-rob);
	font-size:clamp(125%,6.25vw,510%); 
	font-weight:900; letter-spacing:0.125em; 
	padding:1.5rem clamp(1rem,2vw,2rem) 1.5rem;
	line-height:1.1em;
	color: #fff;
}
.fixed-page.title-ja #title-and-summary h1 {font-weight:bold;}

.fixed-page:not(.title-ja) #title-and-summary h1 .page-title {	
	display:block; 
	text-stroke: 1.5px var(--acc-color);
	-webkit-text-stroke: 1.5px var(--acc-color);	
}
.fixed-page.title-ja #title-and-summary h1 .page-title {
	display:block; 
	text-shadow: 
		0 0 2px var(--acc-color), -1px -1px 1px var(--acc-color), 
		1px -1px 1px var(--acc-color), -1px 1px 1px var(--acc-color), 
		1px 1px 1px var(--acc-color), -1px -1px 2px var(--acc-color), 
		1px -1px 2px var(--acc-color), -1px 1px 2px var(--acc-color),
		1px 1px 2px var(--acc-color);	
}

@media (min-width:1170px) {
	.fixed-page.title-ja #title-and-summary h1 {font-size:clamp(140%,4.65vw,380%); }
	.fixed-page #title-and-summary h1 .page-title {width:135%;}
	.fixed-page.title-ja #title-and-summary h1 .page-title {width:275%;}
}
@media (max-width:1169px) {
	.fixed-page.title-ja #title-and-summary h1 {font-size:clamp(150%,8.8vw,400%); }	
}
@media (max-width:600px) {
	.fixed-page #title-and-summary h1 .page-title {	
		max-width:96vw;
		white-space: normal;
		word-break: break-word;
	}
}




h1 span.h1-paged-caption {
	width:100%;
	margin:auto; 
	padding:0.25em 0.125em 1em;
	text-align:right;
	font-family:var(--sans-lex);
	font-size:1.8rem;
	color:#666; font-weight:200;
	letter-spacing:0.25em;
	opacity:0.5; 
	text-stroke: unset;
	-webkit-text-stroke: unset;	
	text-shadow:none; z-index:0;
}


.single #page-title {
	position:relative;
	height:clamp(240px,34.9vh,700px);
	background-position:center center;
	background-size:cover;
	text-align:left;
}
@media (min-width:1400px) {
	.single #page-title {height:min(37vh,770px);}
}
/*
@media (hover: hover) {
	.single #page-title {background-attachment:fixed;}
}
*/
.single #page-title .midlayer {
	position:absolute; 
	top:0; right:0; bottom:0; left:0;
	width:100%; height:100%;
	padding:5em 0;
	backdrop-filter:blur(4px);
	-webkit-backdrop-filter:blur(4px);
}
@media (max-width:1297px) {
	.single #page-title .midlayer {padding-inline:0.75rem;}
}
.single #page-title .midlayer::before {
	position: absolute;
	top:0; right:0; bottom:0; left:0;
	width: 100%; height: 100%;
	content: " ";
	background: rgba(40,10,30,0.75) url(./img/bg/pattern.png) repeat 0 0;
	opacity: 0.65;
}
.single #page-title h1 {	
	margin:0.5em 0 0.75em;
	color:#fff;
	font-family:var(--sans-rob);
	font-weight:700;
	font-size:clamp(125%,5vw,200%); 
	letter-spacing:0.05em;
	text-stroke: unset;
	-webkit-text-stroke: unset;	
}


.h1-en-caption {font-size:75%; font-weight:200; font-family:var(--sans-lex); opacity:0.65;}


#title-and-summary .no-eyecatch {
	display:inline-block; margin:auto; color:#fff;
	font-family:var(--sans-en);
	font-size:250%; font-weight:200; letter-spacing:0.125em; 
	line-height:1.7;
}



@media (min-width:1170px) {	
	#title-and-summary .title-cell {padding:0 min(1.5vw,3em) 0 1rem;}
	#title-and-summary .excerpt-cell {padding:1.5rem clamp(1rem,2vw,2rem) 1.5rem; font-size:0.9rem;}
}

@media (max-width:1169px) {	
	#title-and-summary .title-cell {padding:0 min(1.5vw,3em) 0 1rem;}
	#title-and-summary .excerpt-cell {padding:1.5rem clamp(1rem,2vw,2rem) 3.5rem; font-size:0.925em;}
	#title-and-summary h1 {margin-top:-0.75em; margin-bottom:0; padding-bottom:0;} 
	.fixed-page #title-and-summary h1 {font-size:clamp(150%,9vw,450%); }
	.single #title-and-summary h1 {	font-size:clamp(125%,7.5vw,250%); }
}
@media (max-width:999px) {
	.fixed-page #title-and-summary h1 {font-size:clamp(150%,8.5vw,425%); }
}

@media (min-width:900px) and (max-width:999px) {
	#title-and-summary .title-cell {padding:0 1rem 0 1rem;}
}
@media (min-width:900px) {

}
@media (min-width:601px) and (max-width:899px) {	
	.subpage.single #title-and-summary {padding-top:2.25em;}
}
@media (max-width:899px) {	
	.subpage.type--book #title-and-summary,
	.subpage.type--journal #title-and-summary {padding-top:2.25rem;}	
	.subpage.fixed-page #title-and-summary .eyecatch-cell span.imgframe {background-size:contain;}
	#title-and-summary h1 span.en {padding:0 1.25rem 0 0.25em;}
	h1 span.h1-paged-caption {padding:0.25em 0; text-align:right;}	
}
@media (max-width:768px) {
	.fixed-page #title-and-summary h1 {font-size:clamp(150%,13vw,450%); }	
}
@media (max-width:639px) {
	.eyecatch-cell {aspect-ratio:3 / 2;}
	.eyecatch-cell img.eyecatch {width:100%; height:auto; aspect-ratio:3 / 2;}
}

@media (max-width:600px) {
	#title-and-summary {padding-top:0;}	
	#title-and-summary .eyecatch-cell {padding:0;}	
	#title-and-summary .title-cell {padding:0;}
}
@media (min-width:481px) {

}
@media (max-width:480px) {
	#title-and-summary .excerpt-cell {padding:1rem clamp(1rem,2vw,2rem) 2rem; font-size:0.925em;}
	#title-and-summary h1 {margin-top:-0.9em;} 	
	h1 span.blog-post-title {font-size:82.5%; line-height:1.5em !important;}
}



:is(.blog-home, .archive, .search, .error404) #page-title {
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}
:is(.blog-home, .archive) #page-title {background-image:url(./img/bg/fallback.jpg);}
:is(.search) #page-title {background-image:url(./img/bg/search.jpg);}
:is(.error404) #page-title {background-image:url(./img/bg/404.jpg);}
@media (hover: hover) {
	:is(.blog-home, .archive,.search, .error404) #page-title {background-attachment:fixed;}
}
#archive-type-display {
	padding:4em 0;
	background:rgba(5,15,35,0.3);
	-webkit-backdrop-filter:blur(5px);
	backdrop-filter:blur(5px);
}

#archive-type-display .title-cell {

}
#archive-type-display h1 {
	color:#fff; font-weight:500; font-size:1.5em; line-height:1.4em; 
	padding:0; text-align:left; 
}
#archive-type-display .title-icon {height:1em; width:auto; margin-right:0.5em; margin-top:-0.15em;}


@media (max-width:1280px) {
	#archive-type-display h1 {padding:0 0 0 5vw;}
}
@media (max-width:899px) {
	#archive-type-display h1 {padding:0 0 0.1em 5%;}
	#archive-type-display .title-cell {padding:0 5% 0 0;}
}
@media (max-width:480px) {
	#archive-type-display h1 {padding:0 0 0.25em 5%;}
}



.hr-scrollable {
    position: relative;
    height: auto;
    margin: 1em 0;
    width: 100%;
    max-width: 100.5em;
    text-align: center;
    /*border-radius: 6px;*/
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}
.hr-scrollable + .indicator {display:none; margin-top:-1.25em; color:hotpink; font-size:12px; text-align:center;}
.hr-scrollable + .indicator.indicate {display:block; width:100%;}
.hr-scrollable table {margin-bottom:0; font-size:88%;}
.hr-scrollable table caption {text-align:center;}
.hr-scrollable table th, .hr-scrollable table td {
	min-width:5em !important; max-width:auto !important; border:1px solid rgba(0,0,0,0.2);
	word-break:keep-all; line-height:1.4;
}
table.compare td {text-align:center;}
table.nowrap td {white-space:nowrap;}
table.cell-wrap td {white-space:normal;}
.hr-scrollable p {margin-top:0; font-size:80%; color:#888;}


.subpage .post-body div.en, 
.subpage .post-body p.en,
.subpage .post-body ul.en, 
.subpage .post-body ol.en {font-size:0.85em; color:gray; line-height:1.7;}

.subpage .post-body h3.en {font-size:1.1em; color:gray;}


.ancor-link {margin-top:2em;}

.shell h3:not(:first-child) {margin-top:3em;}

.hr.container {margin-top:2.25em; padding-top:2.25em;}

.fixed-page-post {width:100%; margin:auto; text-align:left;}

h4.co-title {
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size:1.5rem; letter-spacing:0.05em; 
	border-bottom:2px dotted #888;
	color:#161616;
}
@media (max-width:768px) {
	h4.co-title {font-size:1.4rem;}
}
@media (max-width:600px) {
	h4.co-title {font-size:1.3rem; letter-spacing:0.0em; line-height:1.35;}
}




/* ***********************
　Page has children
*/

#menu-banner {
	padding:5.5em 0 5.5em;
}

/*
#menu-banner .children-banner {background:#fff; transition:all 0.33s linear 0s;}
#menu-banner dl {display:flex; margin:0; height:100%; min-height:220px; position:relative;}
#menu-banner dl::after {
	content: " ";
	width: 10px;
	height: 10px;
	position: absolute;
	right: 1em;
	top: 50%;
	margin-top: -5px;
	border-right: 2px solid var(--link-color);
	border-top: 2px solid var(--link-color);
	transform: rotate(45deg);
}	
#menu-banner #menu-face dl::after {border-right: 2px solid #aec729; border-top: 2px solid #aec729;}
#menu-banner #menu-etc dl::after {border-right: 2px solid #aaa; border-top: 2px solid #aaa;}

.is-pc #menu-banner .children-banner:hover {transform:scale(1.03); transition:all 0.14s ease 0s; box-shadow:0 2px 10px rgba(0,0,0,0.15);}

#menu-banner dl dt.eyecatch {width:40%;}
#menu-banner dl dd.summary {width:60%; padding:0.75em; color:#222;}
#menu-banner .brief-copy {font-size:100%; margin:1em 0 0.5em; padding:0 1em 0 0; line-height:1.5;}

#menu-banner figure.menu-item {
	position: relative; overflow: hidden;
	width:100%; height:100%;
	color:#fff;
	background-size:cover; background-position:center top;
}
#menu-banner figure.menu-item::before{ content:""; display: block; padding-top: 60%;}
#menu-banner h3 {
	position:static;
	margin:0.5rem 0; padding:0em;
	line-height:1.25;
	font-family:var(--sans-rob);
	font-size:170%; font-weight:400; 
	font-feature-settings:"palt";
}

#menu-banner h3 span {
	padding:0;
	text-decoration: underline;
	text-underline-offset: -0.125em;
	text-decoration-color: rgba(205,64,174,0.35);
	text-decoration-thickness: 0.25em;
	text-decoration-skip-ink: none;
}

@media (max-width:599px) {
	#menu-banner dl {min-height:160px;}
}
@media (max-width:479px) {
	#menu-banner dl {min-height:140px;}
	#menu-banner dl::after {right: 0.625em;}	
	#menu-banner dl dd.summary {padding:0.75em 1em 0.75em 0.25em;}	
	#menu-banner h3 {font-size:135%;}
	#menu-banner .brief-copy {font-size:95%;}
}
*/

.page-spl #appendix {
	padding: 4em 0 3em;
	background:var(--bg-color-slight);
}





/* ***********************
 Page-Menu
*/







/* ***********************
  Google map
*/
.map-container {text-align:center; width: 100%;}
.map-container iframe{	display: block; pointer-events: none; position: relative;}
.map-container iframe.clicked{pointer-events: auto;}

@media only screen and (min-width: 901px) {
	.map-container iframe {width:100%; height:62.5vh; margin:0; border:none !important;}
}
@media only screen and (max-width: 900px) {
	.map-container iframe {width:96%; height:calc(100vh - 120px); margin:0 2%; border:1px solid #999;}
}


/* ***********************
   contact
*/
.contact .fixed-page-post {max-width:620px; margin:auto;} 
#contact-form-wrapper {margin-top:1.5em; padding:1em 0.75em; background:rgba(0,0,0,0.05); border-radius:6px;}


li.chk-xl {
	line-height:1.35em;
	height: auto; font-size:36px;
	list-style:none; 
	background: url(./img/icon/chk.png) no-repeat 0 0;
	background-size:48px 48px;
	padding: 4px 0 6px 1.5em;
	margin: 0.5em 0;
}
li.chk {
	line-height:1.35em;
	height: auto; font-size:120%;
	background: url(./img/icon/chk.png) no-repeat 0 0;
	background-size:1.75em 1.75em;
	padding: 0.25em 0 0.5em 2.25em;
	margin: 0.75em 0;
}


/* ***********************
   privacy-policy / act-on-specified-commercial-transactions
*/
.privacy-policy .fixed-page-post,
.act-on-specified-commercial-transactions .fixed-page-post {max-width:700px; margin:auto;}

.privacy-policy h1 span.h1-en-caption
.act-on-specified-commercial-transactions h1 span.h1-en-caption {font-size:0.9em;}

.privacy-policy h4,
.act-on-specified-commercial-transactions h4 {margin-top:3em;}



/* ***********************
	Staff (and the Children pages)
*/
/*
.ptype--profile .seventy p {margin-bottom:0 !important;}
img.director {width:100%; max-width:300px;}
.ptype--profile img.portrait {width:100%; max-width:185px; height:auto;}
*/

:is(.directors, .supporters) #main-column .wp-block-image img {width:220px !important;}




/* ***********************
	Schedule
*/
.schedule th.weekday {background:#F5F5F5 !important;}
.schedule th.saturday { background: #eaf4ff !important; color:cornflowerblue !important;}
.schedule th.sunday { background: #ffeaf4 !important; color:palevioletred !important;}


#weekly-calendar table {width:100%;}
#weekly-calendar th {
	text-align:center; font-size:0.9rem;
	border-right:1px solid rgba(0,0,0,0.2); border-top:1px solid rgba(0,0,0,0.2);
}
#weekly-calendar td {
	text-align:left; font-size:0.7rem; line-height:1.2; 
	border-right:1px solid rgba(0,0,0,0.2); border-bottom:1px solid #ebebeb;
}
#weekly-calendar td.last {border-bottom:1px solid rgba(0,0,0,0.2);}

#weekly-calendar th:first-child, #weekly-calendar td:first-child {border-left:1px solid rgba(0,0,0,0.2);}

#agenda td span {position:relative;}
#agenda td span::before {
	display:block; content:""; width:0.75em; height:0.75em;
	position:absolute; left:-1.25em; top:0.25em; border-radius:100%; opacity:0.6;
}
#agenda td span.n3::before {background:#Ef561C;}
#agenda td span.n5n4::before {background:#d59000;}
#agenda td span.n5::before {background:#53Bf1A;}
#agenda td span.biz1::before {background:#5692b4;}
#agenda td span.biz2::before {background:#A367BB;}

#weekly-calendar td span {display:block; width:100%;}
#weekly-calendar td span b {color:#444 !important;}
#weekly-calendar td span.n3 {color:#Ef561C;}
#weekly-calendar td span.n5n4 {color:#d59000;}
#weekly-calendar td span.n5 {color:#53Bf1A;}
#weekly-calendar td span.biz1 {color:#5692b4;}
#weekly-calendar td span.biz2 {color:#A367BB;}


.hr-scrollable {
	position:relative;
	height: auto; /*calc(12em * 0.88);	*/
	margin:1em 0;
	width: 100%;
	max-width: 100.5em;
	text-align: center;
	border-radius:6px;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}
.hr-scrollable + .indicator {display:none; margin-top:-1.25em; color:hotpink; font-size:12px; text-align:center;}
.hr-scrollable + .indicator.indicate {display:block; width:100%;}


#items {background:var(--bg-texture-light);}

.taxo-list-segment {padding:0.5em 0;}
.taxo-list-segment ul {padding-left:0;}
.taxo-list-segment ul li {display:inline-block; margin:0 0.5em;}
.taxo-list-segment ul li a {
	display:inline-block; color:#fff; padding:0.35em 0.75em; margin:0.25em 0.4em 0.25em 0 !important; border:1px solid transparent;  background:rgba(101,186,247,1.0);
	font-size:0.8rem; font-family:var(--sans-lex); font-weight:300;
}

.taxo-list-segment ul li a { background:rgba(105,105,105,0.8); border:1px solid tranparent;}
.taxo-list-segment ul li a:hover { color:rgba(135,72,152,1); background:rgba(255,255,132,0.4); border: 1px solid rgba(135,72,152,1); }


.taxo-list-segment .taxo-terms {
	display:inline-block; position:relative;
	font-size:0.75rem; padding:0; margin:0 0.5em 0.5em 0;
	background:rgba(0,0,0,0.5);  width:auto; height:auto;
	transition:all 0.33s linear 0s;
}
.taxo-list-segment .taxo-terms:hover {background:rgba(0,0,0,0.35); transition:all 0.14s linear 0s;}
.taxo-list-segment .taxo-terms a {
	display:block; position:relative; top:0; right:0; bottom:0; left:0;
	width:100%; height:100%; padding:0.5em 1em; color:#fff;
}




/* ***********************
　Custom Post "item" - Post Card
*/

.post-card-wrapper {padding:1.5em 0.75em;}
@media (max-width:480px) {
	.post-card-wrapper {padding:1.5em 0.5em;}
}

.post-card {height:100%;}

.post-card dl {
	display:flex; flex-direction: column;
	height:100%; position:relative;
	padding:0; margin:0; 
	box-shadow:none; transition:all 0.33s linear 0s; 
	background: var(--base-color);
	font-feature-settings:"palt";
	color:var(--moji-color);
} 
@media (hover: hover) {
	a:hover .post-card dl {transform:scale(1.025); box-shadow:0 2px 1.15em 2px rgba(0,0,0,0.25); transition:all 0.14s linear 0s;}
}
.post-card dt h3 {margin:0.5em 0 0.125em; color:#fff; font-size:1.55em; letter-spacing:0.25em;}
.post-card dt {
	width:100%; padding:1rem 1rem 1rem; margin:0;
	font-family:var(--sans-rob); font-weight:400;
	font-size:1rem; letter-spacing:0; line-height:1.35; color:inherit; 
	color:var(--acc-color);
	text-align:left;
}
.post-card dd {width:100%; padding:0.75em 1rem; text-align:left;}
.post-card dd.post-date {padding:0.75rem 1rem 0; font-size:0.85em; color:gray;}
.post-card dd.post-type {width:100%; padding:1rem 1rem 0; font-size:80%; opacity:0.5;}
.post-card dd.post-date + dt,
.post-card dd.post-type + dt {padding:0.25em 1rem 1.25rem;}
.post-card dd.excerpt {width:100%; padding:0.75em 1rem; font-size:90%; margin-bottom:1em;}
.post-card dd.eyecatch {position:relative; width:100%; max-width:450px; height:auto; background:rgba(243,243,243,1);  overflow:hidden; padding:0; }
.post-card dd.taxo-terms {margin-top:auto; color:gray; font-size:0.8rem; font-family:var(--sans-lex); font-weight:300;}
.post-card span.imgframe {
	display:block; width:100% !important; min-width:100%; height:auto; margin:0; vertical-align:top; overflow:hidden; 
	background-repeat:no-repeat; background-size:cover; background-position:center 15%;
}
.post-card span.imgframe:after { content:""; display:block; padding-top:100%;}
.post-card dd.eyecatch img {width:auto !important; height:auto !important; vertical-align:middle; margin:0;}
.post-card dd.eyecatch .noimage {position:absolute; top:0; right:0; bottom:0; left:0; margin:0; font-size:28px; text-align:center; padding:2em 0; font-family:'Geosans-L';}

.extend .post-card dl {position:relative; padding-bottom:3em; line-height:1.5;}
.search .extend .post-card dl {padding-bottom:0.5em;}

.post-card dd.taxo-terms {
	padding:0 1rem 1rem; 
	line-height:1.35;
}
.post-card dd.taxo-terms .each-term {
	display:inline-block; margin-right:0.25em; padding:0.125em 0.5em 0.25em; 
	border:1px solid rgba(55,55,55,0.55); color:rgba(55,55,55,0.55);
	font-family:'Noto Sans JP', sans-serif; font-weight:400;
	font-size:65%;
}


:is(.blog-home, .archive) .post-card dt {font-weight:500;}
:is(.finding, .taxonomy) .post-card dt {font-size:1.1rem;}

.search .post-card dt, 
#appendix .post-card dt {font-size:1rem;}



.post-body section#custom-field {padding:8px 16px;}
.post-body section#custom-field h3.member {border:none; padding-left:0; margin-top:1em; margin-bottom:0.25em; color:#f7f7e7; text-shadow:1px 1px 4px #333,1px 1px 10px #777;}

.blog-rel {margin:0 !important;}
.blog-rel th, .blog-rel td {border:none;} 
.blog-rel th {width:30% !important; min-width:120px !important; max-width:150px !important; padding:0 10px; text-align:center;}
.blog-rel td {width:auto !important; padding:0 10px; text-align:left !important; font-size:100% !important; color:var(--link-color); transition:all 0.22s linear 0s;}
.blog-rel .post-tn, .blog-rel .thumb-frame {display:block; width:125px; height:125px; margin:4px auto; background:rgba(0,0,0,0.15); overflow:hidden; border-radius:0%;}

.blog-rel td span:not(.each-cat) {display:block;}
.blog-rel td span.post-date {color:#534741; font-size:110%; padding-bottom:6px;}
.blog-rel td span.post-title {color:#534741; font-size:130%; font-weight:700;} 
.blog-rel td span.post-cats {font-size:90%; font-weight:700; padding:1em 0 0.5em;} 
.blog-rel td span.each-cat {
	display:inline-block; margin-right:0.75em; padding:0.125em 0.65em 0.1em;
	background:transparent; color:rgba(83,71,65,0.5);
	border:1px solid rgba(83,71,65,0.5);  border-radius:3px;
	text-shadow:none !important;
	transition:all 0.33s linear 0s;
}
.blog-rel th img {transition:all 0.33s ease 0s;}
@media (hover: hover) {
	a:hover .blog-rel td {color:var(--hover-color); transition:all 0.14s linear 0s;}
	a:hover .blog-rel th img {scale:1.025; box-shadow:0 2px 1.15em 2px rgba(0,0,0,0.25); transition:all 0.20s ease 0s;}
	a:hover .blog-rel td span.each-cat {background:rgba(255,255,255,0.7); transition:all 0.14s linear 0s;}	
}




.calendar .fixed-page-post {max-width:880px;}
#ai1ec-container a { border-bottom:none;}
#ai1ec-container .ai1ec-title-buttons.ai1ec-btn-toolbar a,
#ai1ec-container .ai1ec-btn-group a {border-bottom:1px solid #ccc  !important;}






/* ****************************************
  Search Result
*/

.hits {margin:0 0.25rem;font-size:0.9rem; font-weight:normal; color:#fff; padding:0.25em 0.75em; background:var(--hover-color); border-radius:3px; font-feature-settings:"palt"; }

.showing {margin:0 0 0 0.5rem; font-size:0.8rem; font-weight:normal; color:var(--moji-color); font-feature-settings:"palt"; }

.hits-indicator {padding:3em 0 1.5em;}

#not-found {text-align:left;}
#not-found h2 {font-family:'Geosans-L'; font-size:250%; margin-top:0;}
.bg-ivory #not-found h2 {color:#7A0910;}
.options {padding:1em 0;}
.main-option, .sub-option {display:inline-block; margin:1rem 0.5rem !important; width:13em !important; text-align:center !important}
.sub-option .searchform {width:12em; margin:auto;}
.pager {padding:2em 0 3em;}

#search-options {margin: 0 auto; padding: 3em 0; background:var(--bg-color-slight);}



.face-icon {width:25vw; max-width:72px; margin:0.5em !important; border-radius:7px;}
.face-icon.maru {border-radius:100%;}
.face-icon.kaku {border-radius:0%;}


.bubble {display:inline-block; position:relative; padding:1em; border-radius:6px; background:#fff; max-width:555px; margin-top:0.75em !important; margin-bottom:0.75em !important;}
.bubble.to-right::before {position:absolute; left:-32px; bottom:50%; margin-bottom:-16px; content:""; border:16px solid transparent; border-right:16px solid #fff;} 
.bubble.to-left::before {position:absolute; right:-32px; bottom:50%; margin-bottom:-16px;  content:""; border:16px solid transparent; border-left:16px solid #fff;} 
.bubble.bordered {border:1px solid #bababa;} 
.bubble.bordered.to-right::before {position:absolute; left:-32px; bottom:50%; margin-bottom:-16px; content:""; border:16px solid transparent; border-right:16px solid #bababa;} 
.bubble.bordered.to-right::after {position:absolute; left:-31px; bottom:50%; margin-bottom:-16px; content:""; border:16px solid transparent; border-right:16px solid #fff;} 
.bubble.bordered.to-left::before {position:absolute; right:-32px; bottom:50%; margin-bottom:-16px;  content:""; border:16px solid transparent; border-left:16px solid #bababa;} 
.bubble.bordered.to-left::after {position:absolute; right:-31px; bottom:50%; margin-bottom:-16px;  content:""; border:16px solid transparent; border-left:16px solid #fff;} 







/********/

#loading {
  margin: 80px auto;
  font-size: 8px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(130,206,122,0.32);
  border-right: 1.1em solid rgba(130,206,122,0.32);
  border-bottom: 1.1em solid rgba(130,206,122,0.32);
  border-left: 1.1em solid #00ffff;
  transform: translateZ(0);
  animation: load8 1.1s infinite linear;
}
#loading,
#loading:after {
  border-radius: 50%;
  width: 6.5em;
  height: 6.5em;
}
@-webkit-keyframes load8 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#loading{ position:fixed; left:50%; top:40%; margin-left:-3.25em; text-align:center;}


.powatt {
	animation-fill-mode:both;
	animation-duration:2s;
	animation-name: Powatter;
	visibility: visible !important;
}
.powatt-short-delay {
	animation-fill-mode:both;
	animation-duration:1.7s;
	animation-name: Powatter;
	visibility: visible !important;
    animation-delay: 1.025s;		
}
@keyframes Powatter {
	0% { opacity: 0; transform: translateY(40px); }
	100% { opacity: 1; transform: translateY(0); }
}

.fuwatt-l2r {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-LtoR;
	visibility: visible !important;
    animation-delay: 0.325s;		
}
.fuwatt-l2r-short-delay {
	animation-fill-mode:both;
	animation-duration:1.45s;
	animation-name: Fuwatter-LtoR;
	visibility: visible !important;
    animation-delay: 1.5s;		
}
@keyframes Fuwatter-LtoR {
	0% { opacity: 0; transform: translateX(-40px); }
	100% { opacity: 1; transform: translateX(0); }
}

.fuwatt-r2l {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-RtoL;
	visibility: visible !important;
    animation-delay: 0.325s;	
}
.fuwatt-r2l-short-delay {
	animation-fill-mode:both;
	animation-duration:1.45s;
	animation-name: Fuwatter-RtoL;
	visibility: visible !important;
    animation-delay: 1.5s;	
}
@keyframes Fuwatter-RtoL {
	0% { opacity: 0; transform: translateX(40px); }
	100% { opacity: 1; transform: translateX(0); }
}



.fuwatt {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter;
	visibility: visible !important;
}
@keyframes Fuwatter {
	0% { opacity: 0; transform: translateY(-20px); }
	100% { opacity: 1; transform: translateY(0); }
}

.fuwatt-short-delay {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-LD;
	visibility: visible !important;
    animation-delay: 0.4s; 	
}
@keyframes Fuwatter-SD {
	0% { opacity: 0; transform: translateY(-20px); }
	100% { opacity: 1; transform: translateY(0); }
}

.fuwatt-mid-delay {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-LD;
	visibility: visible !important;
    animation-delay: 0.8s; 	
}
@keyframes Fuwatter-MD {
	0% { opacity: 0; transform: translateY(-20px); }
	100% { opacity: 1; transform: translateY(0); }
}

.fuwatt-long-delay {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-LD;
	visibility: visible !important;
    animation-delay: 1.2s; 	
}
@keyframes Fuwatter-LD {
	0% { opacity: 0; transform: translateY(-20px); }
	100% { opacity: 1; transform: translateY(0); }
}


.guwatt {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Guwatter;
	visibility: visible !important;
}
@keyframes Guwatter {
	0% { opacity: 0;transform: translateY(40px); }
	100% { opacity: 1; transform: translateY(0); }
}




/* ++++++++++++++++++++++++++++++++++++++++++++++++++

	Plugins
	
++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* ************************************
	All-in-One Event Calendar 
*/

.type-ai1ec_event {text-align:left !important;}

.ai1ec-field-label, .ai1ec-actions {display:none;}
.ai1ec-field-value {text-align:left;}

.timely.ai1ec-event-footer {display:none;}


.schedule .ai1ec-month-view tbody td {border:1px solid #aaa !important;}

.ai1ec-month-view .ai1ec-week td:nth-child(1) .ai1ec-date,
.ai1ec-month-view .ai1ec-week td:nth-child(2) .ai1ec-date,
.ai1ec-month-view .ai1ec-week td:nth-child(3) .ai1ec-date,
.ai1ec-month-view .ai1ec-week td:nth-child(4) .ai1ec-date,
.ai1ec-month-view .ai1ec-week td:nth-child(5) .ai1ec-date { background: #f5f5f5 !important; /*#f7f4ea*/ }
.ai1ec-month-view .ai1ec-week td:nth-child(6) .ai1ec-date,
.ai1ec-month-view .ai1ec-weekday:nth-child(6) { background: #eaf4ff !important; color:cornflowerblue !important;}
.ai1ec-month-view .ai1ec-week td:nth-child(7) .ai1ec-date,
.ai1ec-month-view .ai1ec-weekday:nth-child(7) { background: #ffeaf4 !important; color:palevioletred !important;}

.schedule .ai1ec-month-view td.ai1ec-empty {background:#ddd !important;}



/* =============================================================================
   Media Queries
   ========================================================================== */





@media only screen and (min-width: 1078px) {
	

}
@media only screen and (max-width: 1077px) {

}
@media only screen and (min-width: 996px) {
	
}
@media only screen and (max-width: 995px) {

}

@media only screen and (min-width: 801px) and (max-width: 1077px) {
		
}

@media only screen and (min-width: 801px) {

	.a-area {background:inherit; transition:all 0.5s linear 0s;}
	.a-area.a-pink:hover {color:#d6c; background:rgba(255,221,232,0.4); transition:all 0.34s linear 0s;}
	.a-area.a-blue:hover {color:#00f; background:rgba(81,201,255,0.15); transition:all 0.34s linear 0s;}
}

@media only screen and (max-width: 800px) {



@media only screen and (max-width: 800px) {
	
	
}


@media only screen and (min-width: 769px)  {

}

@media only screen and (max-width: 768px) {





}

@media only screen and (min-width: 480px) and (max-width: 768px) {


}

@media only screen and (max-width: 600px) {
	
	.calendar #page-desc.pd-side {margin:0 !important; padding:0 !important;}


}

@media only screen and (max-width: 480px) {

	



	.privacy-policy #page-title h1 {font-size:175%;}
	.privacy-policy h1 span.h1-en-caption {font-size:0.95em;}
	.privacy-policy h2.jp {font-size:175%;}
	
	ul.term-list {padding-left:0;}	
	ul.term-list li { font-size:90%; margin-top:0.5em; margin-bottom:0.5em;}
	
	
}


/* */



