@charset "utf-8";
/******************************************************************
*******************************************************************
Header
*******************************************************************
******************************************************************/
/*********************************
Header > ヘッダーナビ
*********************************/
.global-nav {
	top: 8rem;
	height: calc(100vh - 8rem);
}
.ig-link a:hover,
.ig-link a:cursor { opacity: .5!important; }
@media (max-width: 991.98px) {
	.global-nav {
		top: 0;
		height: 12rem;
		z-index: 10000;
	}
	.ig-link a img { width: 1.8rem; height: auto; }
}
@media (max-width: 575.98px) {
	.global-nav { height: 10rem; }
}



/*********************************
Header > モーダルトリガー
*********************************/
.menu-trigger {
	display: inline-block;
	position: relative;
	width: 25px;
	height: 22px;
	background: none;
	border: none;
	appearance: none;
	pointer-events: auto;
}
.menu-trigger span {
	display: inline-block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #000;
	border-radius: 2px;
}
.menu-trigger span:nth-of-type(1) {	top: 0; }
.menu-trigger span:nth-of-type(2) { top: 10px; }
.menu-trigger span:nth-of-type(3) { bottom: 0; }
.navbar-toggler:focus { box-shadow: 0 0 0 0!important; }



/*********************************
Header > モーダル
*********************************/
@media (min-width: 576px) {
	.modal.menuModal .modal-dialog {
		max-width: 100vw;
	}
}
.modal-content {
	background: none;
	border: none;
}
.close {
	font-weight: 400;
	color: #fff;
	text-shadow: none;
	opacity: 1;
}
.modal-backdrop { background-color: #fff; }
.modal-backdrop.show { opacity: 0.9; }



/*********************************
Header > モーダル > メニューモーダル
*********************************/
.modal.menuModal { background: #dbdbdb; }
.modal.menuModal .modal-close {
	border: none;
	width: 100%;
	padding: 0 2rem;
	max-width: 1920px;
	margin: 2rem auto;
}
.modal button {
	background: none;
	border: none;
	appearance: none;
	pointer-events: auto;
	outline: none;
}
.modal.menuModal button {
	position: relative;
	width: 30px;
	height: 29px;
}
.modal.menuModal button span {
	display: inline-block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #000;
	border-radius: 2px;
	text-shadow: none;
}
.modal.menuModal button span:nth-of-type(1) {
	top: 0;
	transform: translateY(10px) rotate(45deg);
}
.modal.menuModal button span:nth-of-type(2) {
	bottom: 0;
	transform: translateY(-17px) rotate(-45deg);
}
.modal.menuModal .modal-body { padding: 0; }
.modal.menuModal .modal-body ul { padding: 0; }
.modal.menuModal .modal-body ul li a {
	color: #000;
	position: relative;
	display: inline-block;
	text-decoration: none;
}
.modal.menuModal .modal-body ul li a::after {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	content: '';
	width: 100%;
	height: 1px;
	background: #000;
	transform: scale(0, 1);
	transform-origin: left top;
	z-index: 1;
	-webkit-transition: bottom .25s ease, transform .5s ease;
			transition: bottom .25s ease, transform .5s ease;
}
.modal.menuModal .modal-body ul li a:hover { opacity: 1!important; }
.modal.menuModal .modal-body ul li a.current::after,
.modal.menuModal .modal-body ul li a:hover::after {
	transform: scale(1, 1);
	opacity: 1!important;
}



/*********************************
Header > モーダル > メニューモーダル > 言語ナビ
*********************************/
.modal.menuModal .modal-body ul.bogo-language-switcher li {
	margin-left: .25rem;
	margin-right: .25rem;
	text-align: center;
	height: 2rem;
}





/******************************************************************
*******************************************************************
メインコンテンツ以下共通
*******************************************************************
******************************************************************/
main {
	position: relative;
	margin: 12rem 0;
	z-index: 999;
}
.anchor {
	padding-top: 12rem;
	margin-top: -12rem;
}
.sticky-top { top: 12rem!important; }



/*********************************
メインコンテンツ以下共通 > box
*********************************/
.box-720 { max-width: 720px; }
.box-960 { max-width: 960px; }
.box-1200 { max-width: 1200px; }
.box-1440 { max-width: 1440px; }
.box-1920 { max-width: 1920px; }
.box-720, .box-960, .box-1200, .box-1440, .box-1920 { width: calc(100% - 5%); }
@media (max-width: 991.98px) { .box-720, .box-960, .box-1200, .box-1440, .box-1920 { width: calc(100% - 10%); } }



/*********************************
メインコンテンツ以下共通 > 改行
*********************************/
@media (max-width: 991.98px) {
	.br-lg::before {
		content: '\A';
		white-space: pre;
	}
}





/******************************************************************
*******************************************************************
EXHIBITIONS / PROJECTS / CVページ
*******************************************************************
******************************************************************/
.bogo-language-switcher { display: flex; }
.bogo-language-switcher li:not(:last-child) { margin-right: 1rem; }
.bogo-language-switcher li a {
	font-size: calc(1.2rem + 4 * (100vw - 320px)/1600); /*ベースサイズ最小1.2rem - 最大1.6rem*/
	line-height: 1!important;
	letter-spacing: .05rem!important;
}
.m-table th { width: 14rem; }
.m-table td { width: calc(100% - 14rem); }
.s-table th { width: 6rem; }
.s-table td { width: calc(100% - 6rem); }
.m-table th, .m-table td, .s-table th, .s-table td {
	line-height: 1.5;
	padding-bottom: .5rem;
}
@media (max-width: 575.98px) {
	.m-table th { width: 11rem; }
	.m-table td { width: calc(100% - 11rem); }
}





/******************************************************************
*******************************************************************
SINGLEページ
*******************************************************************
******************************************************************/
ul.works-single-list li:not(:last-child) { margin-bottom: 10rem; }
ul.works-single-list li .works-img img { height: 75vh; }



.works-movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
}

.works-movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


@media (max-width: 575.98px) {
	ul.works-single-list li:not(:last-child) { margin-bottom: 6rem; }
	ul.works-single-list li .works-img img { height: 70vh; }
}




/******************************************************************
*******************************************************************
CONTACTページ
*******************************************************************
******************************************************************/
#contact table { width: 100%; }
#contact table th, #contact table td { vertical-align: middle; }
#contact table th {
	font-weight: normal;
	width: 24rem;
}
#contact table td { width: calc(100% - 24rem); }
#contact table th div,
#contact table td div {
	padding: 1rem 0;
	font-size: calc(1.3rem + 5 * (100vw - 320px)/1600); /*最小1.3rem - 最大1.8rem*/
}
#contact table td.text-box-s div { max-width: 42rem; }
#contact table th div.wpcf7cf-hidden,
#contact table td div.wpcf7cf-hidden { padding-bottom: 0; }
#contact table span.asterisk:before {
	content: " *";
	font-size: 2rem;
	line-height: 1;
	color: red;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
	width: 100%;
	border: none;
	border-radius: 0!important;
	box-shadow: none!important;
	background-color: #dbdbdb!important;
	padding: .75rem 1rem .75rem 1rem;
	color: #191919!important;
	font-weight: 400!important;
	text-decoration: none!important;
	box-sizing: border-box!important;
	outline: none!important;
	line-height: 1!important;
}
.wpcf7 textarea {
	resize: vertical;
	height: 20rem;
	min-height: 20rem;
	box-sizing: border-box !important;
}
.wpcf7 .button {
    position: relative;
    z-index: 101;
    text-align: center;
    margin-top: 5rem !important;
}
.wpcf7-spinner { display: none!important; }
.wpcf7 input[type="submit"] {
	background: none;
	border: 1px solid #191919;
	color: #191919;
	padding: 0.5em;
	font-size: 1.5rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
	font-weight: 400;
	box-shadow: none;
	border-radius: 0; 
	width: 100%;
	max-width: 20rem;
	margin: 0 auto;
	padding: 2% 0;
	-webkit-transition: margin .25s, opacity .25s, color .25s, background .25s;
	transition: margin .25s, opacity .25s, color .25s, background .25s;
}
.wpcf7 input[type="submit"]:hover {
	cursor: pointer;
	color: #fff;
	background: #191919;
	border: 1px solid #191919;
	font-weight: 400;
}
.wpcf7 .ajax-loader { display: none!important; }
.wpcf7 span.wpcf7-not-valid-tip {
	position: relative;
	color: #191919;
	font-size: 1.2rem;
	line-height: 1.5;
	font-weight: 400;
	width: 100%;
	text-align: center;
	margin: 4px 0 4px 0;
	padding: 4px 10px;
	background: yellow;
	border: 1px solid yellow;
	box-sizing: border-box !important;
	font-family: sans-serif!important;
}
.wpcf7 span.wpcf7-not-valid-tip:after,
.wpcf7 span.wpcf7-not-valid-tip:before {
	bottom: 100%;
	left: 10%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.wpcf7 span.wpcf7-not-valid-tip:after {
	border-color: rgba(255, 255, 0, 0);
	border-bottom-color: yellow;
	border-width: 10px;
	margin-left: -10px;
}
.wpcf7 span.wpcf7-not-valid-tip:before {
	border-color: rgba(255, 255, 0, 0);
	border-bottom-color: yellow;
	border-width: 11px;
	margin-left: -11px;
}
.wpcf7 .wpcf7-response-output {
	border: 1px solid yellow!important;
	margin: 30px 0 0 0!important;
	padding: 15px 10px!important;
	color: #191919;
	border: none!important;
	background: yellow;
	font-weight: 400;
	font-size: 1.2rem;
	line-height: 1.5;
	text-align: center;
	font-family: sans-serif!important;
	box-sizing: border-box !important;
	-webkit-transition: margin .25s;
	transition: margin .25s;
}



@media (max-width: 767.98px) {
	#contact table th, #contact table td {
		display: block;
		width: 100%;
	}
	#contact table th div { padding: 0; }
}





/******************************************************************
*******************************************************************
Footer
*******************************************************************
******************************************************************/
footer {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	padding: 2rem 0;
	z-index: 1000;
	background-color: rgba(255,255,255,1);
}