@charset "UTF-8";

/**
 * #contents .archive
 */
#contents .archive {
	overflow: hidden;
}
#contents .archive .header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
}
#contents .archive .header::before,
#contents .archive .header::after {
	position: fixed;
	top: 0;
	width: 10vw;
	height: 100vh;
	background: rgba(244,244,244,0.5);
	content: '';
	z-index: 1000;
}
#contents .archive .header::before {
	left: 0;
}
#contents .archive .header::after {
	right: 0;
}

#contents .archive .head {
	box-sizing: border-box;
	position: fixed;
	left: 0;
	width: 100%;
	padding: 0 12vw 30px 12vw;
	background: #F4F4F4;
}
#contents .archive .head .cf {
	margin: 50px 0 0 0;
}
#contents .archive .header .ttl {
	position: relative;
	margin-top: 1.6vw;
	line-height: 1.4;
	letter-spacing: 0.3em;
	font-size: 40px;
	font-weight: 700;
}
#contents .archive .header .ttl span {
	display: block;
	letter-spacing: 0.3em;
	font-size: 0.5em;
}
#contents .archive .header .sort {
	position: relative;
	letter-spacing: 0.2em;
	float: left;
	font-weight: 13px;
	font-weight: bold;
}
#contents .archive .header .sort h3 {
	padding: 2px 0;
	cursor: pointer;
}
#contents .archive .header .sort h3.select {
	color: #8D8D8D;
}
#contents .archive .header .sort > div {
	position: relative;
	width: 290px;
	border-bottom: solid 1px #333;
}
#contents .archive .header .sort > div a {
	display: block;
	position: absolute;
	top: -5px;
	right: 0;
	width: 15px;
}
#contents .archive .header .sort ul {
	display: none;
	position: absolute;
	min-width: 100%;
	left: -20px;
	background-color: rgba(255,255,255,0.95);
	padding: 10px 20px;
	z-index: 20000;
}
#contents .archive .header .sort li {
	position: relative;
	white-space: nowrap;
}
#contents .archive .header .sort li::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 1px;
	background-color: #000;
	content: '';
}
#contents .archive .header .sort li:first-child:before {
	display: none;
}
#contents .archive .header .search {
	position: relative;
	float: right;
	margin-top: -6px;
}
#contents .archive .header .search input {
	display: inline-block;
	width: 240px;
	background: none;
	border: none;
	border-radius: 0;
	border-bottom: solid 1px #333;
	padding: 12px 20px 12px 0;
	outline: 0;
}
#contents .archive .header .search .btn_search {
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: 38px;
	border: none;
	background: url('../img/icon_search.svg') no-repeat center center / 16px;
	cursor: pointer;
	
	-webkit-appearance:none;
	-moz-appearance:none;
	-o-appearance:none;
	-ms-appearance:none;
	appearance:none;
}

#contents .archive .header .categ ul {
	display: flex;
	flex-wrap: wrap;
	margin: 15px -6px 0  -6px;
}
#contents .archive .header .categ li {
	margin: 6px;
}
#contents .archive .header .categ li a {
	display: block;
	padding: 5px 30px;
	border: solid 1px #000;
	font-size: 12px;
	transition: all 0.4s;
}
#contents .archive .header .categ li a.act,
#contents .archive .header .categ li a:hover {
	background-color: #000;
	color: #fff;
}
@media only screen and (min-width:769px) {
	#contents .archive .head {
		transition: transform 0.3s ease-out;
		transform: translateY(0);
	}
	#contents .archive .header.off .head {
		transition: transform 0.2s ease-in;
		transform: translateY(-100%);
	}
	#contents .archive .header .search_box {
		display: none !important;
	}
}
@media only screen and (max-width:768px) {
	#contents .archive .header {
		position: fixed;
		width: 100%;
		background-color: #F4F4F4;
		z-index: 10000;
		transition: transform 0.3s ease-out;
		transform: translateY(0);
	}
	#contents .archive .header.off {
		transition: transform 0.2s ease-in;
		transform: translateY(-100%);
	}
	#contents .archive .header_sp .logo3d {
		transition: transform 0.3s ease-out;
		transform: translateY(0);
	}
	#contents .archive .header_sp.off .logo3d {
		transition: transform 0.2s ease-in;
		transform: translateY(60px);
	}

	#contents .archive .header .logo,
	#contents .archive .header .btn_menu {
		position: absolute;
	}
	#contents .archive .header .logo3d,
	#contents .archive .header .popup {
		display: none;
	}

	#contents .archive .head {
		position: static;
		width: 100%;
		padding: 115px 20px 5px 20px;
	}
	#contents .archive .head .cf {
		margin:0;
	}
	#contents .archive .header .ttl {
		position: absolute;
		top: 12px;
		left: 98px;
		font-size: 14px;
	}
	#contents .archive .header .ttl span {
		font-size: 9px;
	}
	#contents .archive .header::before,
	#contents .archive .header::after {
		display: none;
	}
	#contents .archive .header .sort > div {
		width: 240px;
		border: none;
	}
	#contents .archive .header .sort h3 {
		font-size: 13px;
	}
	#contents .archive .header .sort > div a {
		top: -10px;
		width: 12px;
	}
	#contents .archive .header .sort ul {
		left: -10px;
	}
	#contents .archive .header .sort li {
		font-size: 13px;
	}
	#contents .archive .header .search {
		margin-top: 6px;
	}
	#contents .archive .header .search input {
		display: none;
	}
	#contents .archive .header .search .btn_search {
		width: 16px;
		height: 16px;
	}
	#contents .archive .header .search .btn_search.open {
		background: url('../img/icon_close.svg') no-repeat center center / 12px;
	}
	#contents .archive .header .search_box {
		display: block;
		position: absolute;
		left: 0;
		top: 150px;
		width: 100vw;
		height: calc(100vh - 150px);
		background-color: rgba(255,255,255,0.95);
		text-align: center;
		opacity: 0;
		z-index: 10000;
	}
	#contents .archive .header .search_box input {
		display: block;
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		transform: translateY(-100%);
		width: 90%;
		margin: auto;
		padding: 10px 0;
		border: none;
		border-radius: 0;
		border-bottom: solid 1px #707070;
		background: none;
		font-size: 20px;
		outline: 0;
	}
	#contents .archive .header .categ ul {
		display: flex;
		margin: 15px -3px 0  -3px;
	}
	#contents .archive .header .categ li {
		margin: 3px;
	}
	#contents .archive .header .categ li a {
		padding: 2px 15px;
		font-size: 9px;
	}
}

/**
 * #contents .archive main
 */
#contents .archive main {
	box-sizing: border-box;
	position: static;
	width: 100%;
	padding: 0 12vw;
}
#contents .archive .list {
	margin-top: 250px;
}
#contents .archive .list .search_txt {
	font-size: 13px;
	font-weight: 700;
	color: #8d8d8d;
}
#contents .archive .list .search_txt span {
	color: #000;
}
#contents .archive .list .notfound {
	text-align: center;
	padding: 6em 0 2em 0;
	font-size: 26px;
	font-weight: 700;
	color: #8d8d8d;
}
#contents .archive .list .notfound span {
	display: block;
	margin-bottom: 0.5em;
	font-size: 30px;
}
#contents .archive .list ol > li {
	position: relative;
	margin: 140px 0;
}
#contents .archive .list ol > li:first-child {
	margin-top: 260px;
}
#contents .archive .list h2 {
	position: relative;
	margin-bottom: 65px;
	padding-right: 70px;
	font-size: 14px;
	font-weight: 100;
}
#contents .archive .list h2 span {
	display: inline-block;
	white-space: nowrap;
}
#contents .archive .list h2 span::before {
	font-weight: 100;
	font-family: 'Noto Sans JP', sans-serif;
	content: '　：　';
}
#contents .archive .list h2 span:first-child::before {
	content: '';
}
#contents .archive .list h2 .an {
	font-weight: 200;
}
#contents .archive .list h2 .name {
	font-weight: 400;
}
#contents .archive .scroll {
	position: relative;
}
#contents .archive .bar {
	position: relative;
	margin-top: 70px;
}
#contents .archive .bar::before {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	margin: auto;
	background-color: #C1C1C1;
	content: '';
}
#contents .archive .bar div {
	position: relative;
	top: 0;
	left: 0;
	height: 10px;
	border-radius: 1000px;
	background-color: #7c7c7c;
	transition: background 0.2s;
	cursor: pointer;
}
#contents .archive .bar div:hover {
	background-color: #9D9D9D;
}
#contents .archive .photo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100000px;
}
#contents .archive .photo li {
	padding: 0 40px 0 0;
	cursor: pointer;
}
#contents .archive .photo li img {
	width: 0;
	height: 0;
	opacity: 0;
	transition: opacity 0.8s ease-out;
	pointer-events: none;
}
#contents .archive .photo li img.loaded {
	display: inline-block;
	max-width: none;
	opacity: 1;
}
#contents .archive .photo li img.land{
	width: auto;
	height: 200px;
}
#contents .archive .photo li img.square {
	width: auto;
	height: 250px;
}
#contents .archive .photo li img.port {
	width: 200px;
	height: auto;
}
#contents .archive .photo.small li img.land {
	height: 150px;
}
#contents .archive .photo.small li img.square {
	height: 188px;
}
#contents .archive .photo.small li img.port {
	width: 150px;
}
#contents .archive .list li .btn_view {
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	font-family: 'Helvetica Neue', 'Helvetica', 'Noto Sans JP', 'Arial', sans-serif;
	font-weight: 700;
	font-size: 14px;
}
#contents .archive .list li .btn_view span {
	display: block;
	position: relative;
	padding-right: 18px;
	background: url('../img/icon_view.svg') no-repeat right center / 11px auto;
}
#contents .archive .list li .btn_view span::after {
	position: absolute;
	bottom: -4px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #707070;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
#contents .archive .list li .btn_view:hover span::after {
	transform-origin: left top;
	transform: scale(1, 1);
}
#contents .archive .list > .btns {
	margin: 110px 0 80px 0;
	text-align: center;
}
@media only screen and (max-width:768px) {
	#contents .archive main {
		padding: 0 20px;
	}
	#contents .archive .list .notfound {
		padding: 8em 0 5em 0;
		margin-top: -50px;
		font-size: 18px;
	}
	#contents .archive .list .notfound span {
		font-size: 20px;
	}
	#contents .archive .list ol > li {
		position: relative;
		margin: 50px 0;
	}
	#contents .archive .list ol > li:first-child {
		margin-top: 0;
		padding-top: 20px;
	}
	#contents .archive .list h2 {
		margin-bottom: 15px;
		padding-right: 0;
		font-size: 12px;
	}
	#contents .archive .list h2 span {
		display: inline;
		white-space: normal;
	}
	#contents .archive .bar {
		display: none !important;
	}
	#contents .archive .photo li {
		padding: 0 30px 0 0;
	}
	#contents .archive .photo li img.land {
		height: 140px;
	}
	#contents .archive .photo li img.square {
		height: 175px;
	}
	#contents .archive .photo li img.port {
		width: 140px;
	}
	#contents .archive .photo.small li img.land {
		height: 100px;
	}
	#contents .archive .photo.small li img.square {
		height: 125px;
	}
	#contents .archive .photo.small li img.port {
		width: 100px;
	}
	#contents .archive .list li .btns {
		margin-top: 8px;
		text-align: right;
	}
	#contents .archive .list li .btn_view {
		position: static;
	}

	#contents .archive .list > .btns {
		margin: 80px 0 35px 0;
		text-align: center;
	}
}

#contents .single .footer .btn_close,
#contents .single .btn_prev,
#contents .single .btn_next {
	display: none;
}
#contents .single_container .single .footer .btn_close,
#contents .single_container .single .btn_prev,
#contents .single_container .single .btn_next {
	display: block;
}



/**
 * #contents .single
 */
#contents .single {
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #F4F4F4;
	overflow: hidden;
	color: #1F1F1F;
	z-index: 10000;
}
#contents .single .header {
	display: block;
	position: absolute;
	top: 0;
}
#contents .single .header .logo {
	width: auto;
	top: 3.2vh;
	left: 3vw;
	text-align: left;
}
#contents .single .header .logo img {
	width: auto;
	max-width: none;
	height: 13.5vh;
}
#contents .single .header .ttl {
	position: fixed;
	top: 2.8vh;
	left: calc(3vw + 14vh);
	letter-spacing: 0.3em;
	line-height: 1.4;
	font-size: 25px;
	font-weight: 700;
}
#contents .single .header .ttl span {
	display: block;
	letter-spacing: 0.3em;
	font-size: 12px;
}

#contents .single .header .btn_menu {
	position: fixed;
	top: 3.2vh;
	right: 3vw;
	width: 6vh;
	height: 6vh;
	border: solid 1px #5C5C5C;
	border-radius: 1000px;
	z-index: 10000;
	transition: border 0.4s ease-in-out;
}
#contents .single .header .btn_menu:hover {
	border: solid 1px #ccc;
}
#contents .single .header .btn_menu span {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 0.5vh;
	height: 0.5vh;
	margin: auto;
	background-color: #4d4d4d;
	border-radius: 1000px;
}
#contents .single .header .btn_menu span:nth-child(1) {
	left: -1.7vh;
}
#contents .single .header .btn_menu span:nth-child(3) {
	right: -1.7vh;
}

#contents .single h1 {
	position: absolute;
	height: 20vh;
	width: 100%;
	bottom: 0;
	line-height: 1.2;
}
#contents .single h1::before,
#contents .single h1::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: #1F1F1F;
	content: '';
}
#contents .single h1::before {
	width: 1px;
	height: 16px;
}
#contents .single h1::after {
	width: 16px;
	height: 1px;
}
#contents .single h1 span {
	display: block;
	position: absolute;
	font-weight: 200;
}
#contents .single h1 span:first-child {
	top: 50%;
	left: calc(50% - 40px);
	transform: translate(-100%, -50%);
	text-align: right;
	font-size: 16px;
	color: #4D4D4D;
}
#contents .single h1 span:first-child b {
	display: block;
	margin-top: 0.5em;
	font-size: 18px;
	color: #1F1F1F;
}
#contents .single h1 span:last-child {
	box-sizing: border-box;
	padding-right: 18vh;
	top: 50%;
	left: calc(50% + 40px);
	transform: translate(0, -55%);
	font-size: 20px;
	color: #1F1F1F;
}
#contents .single h1 span:last-child i {
	display: inline-block;
}
#contents .single h1 span:last-child b {
	display: block;
	margin-top: 0.7em;
	font-size: 14px;
	color: #4D4D4D;
}

#contents .single .btn_close {
	box-sizing: border-box;
	position: fixed;
	bottom: 5vh;
	left: 3vw;
	width: 6vh;
	height: 6vh;
	border: solid 1px #5C5C5C;
	border-radius: 1000px;
	cursor: pointer;
	z-index: 10000;
	transition: border 0.4s ease-in-out;
}
#contents .single .btn_close:hover {
	border: solid 1px #ccc;
}
#contents .single .btn_close span {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 20%;
	height: 0;
	margin: auto;
}
#contents .single .btn_close span::before,
#contents .single .btn_close span::after {
	width: 100%;
	height: 1px;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	background-color: #4D4D4D;
	content: '';
}
#contents .single .btn_close span::before {
	transform: rotate(45deg);
}
#contents .single .btn_close span::after {
	transform: rotate(-45deg);
}

#contents .single .btn_staff {
	box-sizing: border-box;
	position: fixed;
	bottom: 5vh;
	right: 3vw;
	width: 10vh;
	height: 10vh;
	border: solid 1px #5C5C5C;
	border-radius: 1000px;
	z-index: 10000;
	cursor: pointer;
	transition: border 0.4s ease-in-out;
}
#contents .single .btn_staff:hover {
	border: solid 1px #ccc;
}
#contents .single .btn_staff > div {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 1000px;
	text-align: center;
	overflow: hidden;
}
#contents .single .btn_staff > div > span {
	box-sizing: border-box;
	display: block;
	padding-top: 3.4vh;
	letter-spacing: 0.2em;
	line-height: 1.2;
	font-size: 1.3vh;
	color: #4D4D4D;
}
#contents .single .btn_staff::after {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: -2.5vh;
	margin: auto;
	width: 5vh;
	height: 10px;
	background: url('../img/icon_arrow1.svg') no-repeat center center / contain;
	content: '';
	z-index: 100;
}

#contents .single .btn_prev,
#contents .single .btn_next {
	width: 40px;
	height: 40px;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	background-color: #000;
	cursor: pointer;
	opacity: 0;
	z-index: 10000;
	transition: all 0.3s ease-out;
}
#contents .single .btn_prev {
	left: -40px;
}
#contents .single .btn_next {
	right: -40px;
}
#contents .single .btn_prev.act {
	left: 0;
	opacity: 1;
}
#contents .single .btn_next.act {
	right: 0;
	opacity: 1;
}
#contents .single .btn_prev b,
#contents .single .btn_next b {
	width: 9px;
	height: 9px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transition: border 0.3s;
	content: '';
}
#contents .single .btn_prev:hover b,
#contents .single .btn_next:hover b {
	border-color: #000;
}
#contents .single .btn_prev b {
	transform: rotate(-135deg);
	left: 4px;
}
#contents .single .btn_next b {
	transform: rotate(45deg);
	right: 4px;
}
@media only screen and (max-width:768px) {
	#contents .single {
		width: 100vw;
		height: auto;
		position: static;
		overflow: auto;
	}
	#contents .single .header {
		display: block;
		width: 100%;
		height: 120px;
		position: fixed;
		top: 0;
		left: 0;
		background-color: #F4F4F4;
		content: '';
		z-index: 10000;
		transition: transform 0.3s ease-out;
		transform: translateY(0);
	}
	#contents .single .header.off {
		transition: transform 0.2s ease-in;
		transform: translateY(-100%);
	}

	#contents .single .header .logo {
		width: 64px;
		top: 20px;
		left: 20px;
	}
	#contents .single .header .logo img {
		width: 100%;
		height: auto;
	}

	#contents .single .header .ttl {
		top: 18px;
		left: 98px;
		font-size: 14px;
	}
	#contents .single .header .ttl span {
		font-size: 9px;
	}

	#contents .single .header .btn_menu {
		top: 24px;
		right: 20px;
		width: 40px;
		height: 40px;
	}
	#contents .single .header .btn_menu span {
		width: 3.4px;
		height: 3.4px;
	}
	#contents .single .header .btn_menu span:nth-child(1) {
		left: -10.2px;
	}
	#contents .single .header .btn_menu span:nth-child(3) {
		right: -10.2px;
	}

	#contents .single .footer {
		width: 100%;
		position: fixed;
		bottom: 0;
		left: 0;
		padding-bottom: 0;
		background-color: #F4F4F4;
		z-index: 10000;
		transition: transform 0.3s ease-out;
		transform: translateY(0);
	}
	#contents .single.actback .footer,
	#contents .single_container .single .footer {
		padding-bottom: 45px;
	}
	#contents .single .footer.off {
		transition: transform 0.2s ease-in;
		transform: translateY(100%);
	}
	#contents .single h1 {
		position: static;
		box-sizing: border-box;
		height: auto;
		width: 100%;
		bottom: 0;
		padding: 15px 65px 15px 20px;
	}
	#contents .single.actback h1,
	#contents .single_container .single  h1 {
		border-bottom: solid 1px #BABABA;
	}
	#contents .single h1::before,
	#contents .single h1::after {
		display: none;
	}
	#contents .single h1 span {
		position: static;
	}
	#contents .single h1 span:first-child {
		transform: none;
		text-align: left;
		font-size: 12px;
	}
	#contents .single h1 span:first-child b {
		display: inline-block;
		margin: 0 0 0 1em;
		font-size: 16px;
	}
	#contents .single h1 span:last-child {
		margin-top: 8px;
		padding-right: 0;
		transform: none;
		font-size: 18px;
	}
	#contents .single h1 span:last-child b {
		margin-top: 8px;
		font-size: 12px;
	}
	#contents .single .btn_close {
		position: absolute;
		left: 20px;
		width: auto;
		height: auto;
		border: none;
		border-radius: 0;
		background: none;
		padding-left: 12px;
		transition: none;
	}
	#contents .single .btn_close:hover {
		border: none;
	}
	#contents .single.actback .footer .btn_close,
	#contents .single_container .single .footer .btn_close {
		padding: 10px 0 10px 12px;
		bottom: -2px;
	}
	#contents .single .btn_close::before,
	#contents .single .btn_close::after {
		position: static;
		width: auto;
		height: auto;
		background: none;
		border: none;
		border-radius: 0;
		transform: none;
	}
	#contents .single .btn_close::after {
		font-size: 10px;
		content: 'CLOSE';
	}
	#contents .single .btn_close div {
		position: static;
		width: auto;
		height: auto;
		background: none;
		border: none;
		border-radius: 0;
		transform: none;
	}
	#contents .single .btn_close span {
		top: 4px;
		right: auto;
		width: 7px;
	}

	#contents .single .btn_prev,
	#contents .single .btn_next,
	#contents .single .btn_prev.act,
	#contents .single .btn_next.act {
		position: absolute;
		width: auto;
		height: auto;
		top: auto;
		left: auto;
		bottom: 2px;
		background: none !important;
		opacity: 1;
		padding: 10px 0;
	}
	#contents .single .btn_prev,
	#contents .single .btn_prev.act {
		right: 95px;
	}
	#contents .single .btn_next,
	#contents .single .btn_next.act {
		right: 20px;
	}
	#contents .single .btn_prev::before,
	#contents .single .btn_next::before {
		width: auto;
		height: auto;
		position: static;
		border: none;
		background: none;
		transform: none;
		left: 0;
	}
	#contents .single .btn_prev::before {
		font-size: 10px;
		content: 'BACK';
	}
	#contents .single .btn_next::before {
		font-size: 10px;
		content: 'NEXT';
	}
	#contents .single .btn_prev::after {
		display: block;
		width: 1px;
		height: 10px !important;
		position: absolute;
		top: 2px;
		bottom: 0;
		right: -23px;
		margin: auto;
		background-color: #707070 !important;
		content: '';
	}
	#contents .single .btn_next::after {
		display: none;
	}
	#contents .single .btn_prev span,
	#contents .single .btn_next span,
	#contents .single .btn_prev b,
	#contents .single .btn_next b {
		display: none;
	}

	#contents .single .btn_staff {
		position: absolute;
		bottom: 15px;
		right: 20px;
		width: 50px;
		height: 50px;
	}
	#contents .single.actback .btn_staff,
	#contents .single_container .single .btn_staff {
		bottom: 55px;
	}
	#contents .single .btn_staff::after {
		display: none;
	}
	#contents .single .btn_staff div span {
		font-size: 9px;
		padding-top: 15px;
	}
}


/**
 * #contents .single .photo
 */
#contents .single .photo {
	height: 60vh;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	padding: 0 1vw;
}
#contents .single .photo > li {
	float: left;
	height: 100%;
	text-align: center;
	padding: 0 2vw;
	cursor: pointer;
}
#contents .single .photo > li.staff {
	opacity: 0;
	cursor: default;
}
#contents .single .photo.loaded > li.staff {
	opacity: 1;
}
#contents .single .photo > li > img {
	position: relative;
	width: 0;
	height: 0;
	max-width: none;
	opacity: 0;
	pointer-events: none;
}
#contents .single .photo li img.loaded {
	transition: opacity 0.8s ease-in-out;
	opacity: 1;
}
#contents .single .photo .cap {
	margin-top: 0.5em;
	text-align: center;
	font-size: 0.8em;
	font-weight: 300;
}
#contents .single .photo table:first-child {
	max-width: 530px;
}
#contents .single .photo table:first-child .an {
	display: block;
}
#contents .single .photo table:first-child .name .an {
	display: inline-block;
}
#contents .single .photo li th,
#contents .single .photo li td {
	padding-bottom: 0.8em;
	font-size: 12px;
	font-weight: 300;
	vertical-align: top;
	text-align: left;
}
#contents .single .photo li th {
	color: #4D4D4D;
	padding-right: 30px;
	width: 13em;
}
#contents .single .photo li td {
	padding-right: 60px;
}
#contents .single .photo table + table {
	margin-top: 3em;
}
#contents .single .photo li .an {
	font-size: 11px;
}
#contents .single .photo .links li {
	float: left;
	padding: 5px 30px 0 0;
}
/*@media only screen and (max-height:1000px) {}*/
#contents .single .photo > li.staff > div {
	display: flex;
	align-items:flex-start;
}
#contents .single .photo table + table {
	margin-top: 0;
}
@media only screen and (max-width:768px) {
	#contents .single .photo {
		height: auto;
		position: static;
		padding: 105px 0 50px 0;
	}
	#contents .single .photo > li {
		box-sizing: border-box;
		float: none;
		width: 100%;
		height: auto;
		padding: 15px 20px;
	}
	#contents .single .photo li img.loaded {
		width: 100%;
		height: auto;
		max-width: 100%;
	}
	#contents .single .photo > li.staff > div {
		display: block !important;
	}
	#contents .single .photo table + table {
		margin-top: 2em !important;
	}
	#contents .single .photo li th,
	#contents .single .photo li td {
		display: block;
		padding-bottom: 0.8em;
		white-space: normal;
		font-size: 12px;
	}
	#contents .single .photo li th {
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 0;
	}
	#contents .single .photo li td {
		padding-right: 0;
	}
	#contents .single .photo li .an {
		font-size: 11px;
	}
	#contents .single .photo .links li {
		padding: 5px 10px 0 0;
	}
}

#contents .single .modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1000000;
	background: #F4F4F4 no-repeat center center / contain;
}
#contents .single .modal .btn_close {
	position: absolute;
	top: 3.2vh;
	right: 3vw;
	bottom: auto;
	left: auto;
}
#contents .single .modal .btn_close div {
	background-color: #fff;
}
@media only screen and (max-width:768px) {
	#contents .single .modal .btn_close {
		top: 2vh;
	}
}