@charset "UTF-8";


/*****************************************************************
************************  Modal Window ***************************
*****************************************************************/

a.modalWindowBt
{
	cursor: pointer;
	display: block;
	margin: 1em 1em;
	background-color: white;
	color:rgb(0, 0, 0);
	font-size:1.1em;
	text-align: center;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
a.modalWindowBt span{display: block; padding:1em; text-align: center;}

a.modalWindowBt:hover
{
	background-color: rgb(255, 233, 0);
	color:white;
}
div.modalWindow
{
/*	display: none;*/
}

#modalWindow
{
	position:fixed;
	left: 0;
	top: 0;
	
	box-sizing:border-box;
	padding: 1.5rem;
	width:100%;
	height: 100vh;
	z-index: 9999;
	background-color: rgba(255, 255, 255, .9);
	
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}

#modalWindow:before
{
	content: ""; 
	display: block;
	position: absolute;
	z-index: 9000;
	width: 2.5rem;
	height: 2.5rem;
	box-sizing:border-box;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	border: 2px solid rgb(0, 0, 0);
	border-right-color: transparent;
	
	top: 50%;
	left: 50%;
	margin-top:-1.25rem;
	margin-left:-1.25rem; 

	animation: circle-spin 1s linear infinite; /*1秒毎にくるくる回転するアニメーション*/
}

#modalWindow.loaded:before
{
	display: none;
}

#modalWindow .modalBg
{
	position: fixed;
	width: 100%;
	height: 100%;
}

#modalWindow .contents_area
{
	position:relative;
	box-sizing:border-box;
	width: auto;
	padding: 0em;
	margin: 3em auto;
/*	word-wrap: break-word;*/
	background-color: rgba(255, 255, 255, 0);
	
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	
	-moz-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
	
	-webkit-align-items: center;
	align-items: center;
	
	-webkit-justify-content: center;
	justify-content: center;
	
	top: 5em;
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	
/*	transform-origin: center center;
	transform: scale(0, 0); fixed が効かなくなる*/
	
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

#modalWindow.loaded .contents_area
{
/*	transform: scale(1, 1);*/
	top: 0em;
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

#modalWindow .moalPhotoWrapper
{
	position:relative;
	box-sizing:border-box;
	max-width: 100%;
	
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	
	-moz-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
	
	-webkit-align-items: flex-start;
	align-items: flex-start;
	
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

#modalWindow img
{
	position: relative;
	display: block;
	width: 100%;
	max-width:100%;
	height: auto;
}

#modalWindow .caption
{
	padding-top: 2em;
	font-size:.8rem;
	color: rgb(160, 160 160);
	margin: 0;
	display: block;
}
#modalWindow .caption > br{display: none;}

#modalWindow .caption .name{font-size: 1.2em; letter-spacing: .2em;}

.caption .photoCredit
{
	display: inline-block;
	margin-top: 0em;
	margin-left: 1rem;
}
.caption .photoCredit:before
{
	content:"©︎ ";
	margin-left: 0em;
	text-align: right;
}

#modalWindow .text p
{
	margin-bottom: 1em;
}
#modalWindow .text td p
{
	margin-bottom: 0em;
}

#modalWindow a.closer
{
	position: fixed;
	cursor: pointer;
	right: 1.5rem;
	top: 2rem;
	width: 1.05rem;
	height: 1.05rem;
	transform-origin: center center;
    text-indent: -9999px;
	
	-webkit-transition:transform .3s ease;
	-moz-transition:transform .3s ease;
	-ms-transition:transform .3s ease;
	-o-transition:transform .3s ease;
	transition:transform .3s ease;
}

/*#modalWindow a.closer:hover
{
	transform: rotate(270deg);
}*/

#modalWindow a.closer:before, #modalWindow a.closer:after
{
	content: "";
	display: block;
	position: absolute;
	width: 1.5rem;
	height: 3px;
	top: 0;
	background-color: rgb(0, 0, 0);
	border-bottom: 1px solid rgba(255, 255, 255, .5);
}

#modalWindow a.closer:before
{
	right: 0;
	transform-origin: bottom right;
	transform: rotate(-45deg);
}

#modalWindow a.closer:after
{
	top: .13em;
	left:0;
	transform-origin: top left;
	transform: rotate(45deg);
}

#modalWindow .photo_100
{
	-webkit-transition:all .3s ease;
	-moz-transition:all .3s ease;
	-ms-transition:all .3s ease;
	-o-transition:all .3s ease;
	transition:all .3s ease;
}

#modalWindow .photo_100.progress
{
	width: 10vw;
	height: 10vw;
}
#modalWindow .photo_100.loaded
{
	width: auto;
	height: auto;
}

#modalWindow .photo_100 img
{
	-webkit-transition:all .3s ease;
	-moz-transition:all .3s ease;
	-ms-transition:all .3s ease;
	-o-transition:all .3s ease;
	transition:all .3s ease;
}
#modalWindow .photo_100.progress img
{
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}

#modalWindow .photo_100.loaded img
{
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

#modalWindow .photo_100.progress:before
{
	content: ""; 
	display: block;

	box-sizing:border-box;
	position: absolute;
	width: 2.5rem;
	height: 2.5rem;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	border: 5px solid rgb(0, 0, 0);
	border-right-color: transparent;
	
	top: 50%;
	left: 50%;
	margin-top:-1.25rem;
	margin-left:-1.25rem; 

	animation: circle-spin 1s linear infinite; /*1秒毎にくるくる回転するアニメーション*/
}

#modalWindow .photo_100.loaded:before
{
	display: none;
}

@keyframes circle-spin
{
	0%
	{
		transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		filter:alpha(opacity=20);
		-moz-opacity: .2;
		opacity: .2;
	} /*0%の時は20％の透明度*/
	50%
	{
		transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
	} /*50%の時は透明度なし*/
	100%
	{
		transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		filter:alpha(opacity=20);
		-moz-opacity: .2;
		opacity: .2;
	} /*100%の時に20％の透明度に戻る*/
}
