@charset "UTF-8";
/* CSS Document */


/* スマホ用CSS */

html, body {
	width: 100%;
	color: #fff;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.2em;
	font-feature-settings: "palt";
	font-family: a-otf-ryumin-pr6n,serif;
	font-weight: 300;
	font-style: normal;
}


.pc{display: none!important;}


.spfadein{
	transform: translateY(10px);
	opacity: 0;
	transition: all 1s ease-out;
}

.load-on .spfadein.view{
	transform: translateY(0);
	opacity: 1;
}

header{
	width: 100%;
	position: absolute;
	color: #FFF;
	font-family: medio;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding: 0 5vw;
	border-bottom: 1px solid rgba(255,255,255,0.5);
	line-height: 1;
	letter-spacing: .05em;
	height: 4em;
}

header:after{
	content: "";
	display: block;
	width: 1px;
	height: 100%;
	background: rgba(255,255,255,0.5);
	position: absolute;
	top: 0;
	right: calc(2.4em + 10vw);
}


header.bk{
	color: #0b3b16;
	border-bottom: 1px solid #0b3b16;
}

header.bk:after{
	background: #0b3b16;
}

header .logo{
	font-size: .6vw;
	width: calc(70vw - 2.4em);
	max-width: 300px;
}

.top-slider{
	width: 100vw;
	height: 100dvh;
	position: relative;
}

.top-slider .slick-slide{
	width: 100vw;
	height: 100dvh;
}

.top-movie{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100dvh;
}

.top-movie video{
    height: 100%;
    width: 100%;
    object-fit:cover;
    font-family: 'object-fit: cover;'
}

.top-contents-wrap{
	color: #FFF;
}

.top-text-wrap{
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50% , -20%);
	z-index: 2;
	letter-spacing: .05em;
	font-family: medio,a-otf-ryumin-pr6n,serif;
}

.text-l{
	position: relative;
	padding-top: 1em;
	width: 100%;
}

.text-r{
	width: 100%;
	width: 90vw;
	margin: 0 auto;
}

.top-text-wrap .main-title{
	font-size: 10.5vw;
	width: 96vw;
	margin: 0 auto 1.16em;
}

.top-text-wrap .data{
	line-height: 1;
	width: 86vw;
}

.top-text-wrap .data p{
	position: relative;
}

.top-text-wrap .data p span{
	font-size: 5.6vw;
	display: table;
	margin-bottom: .2em;
	padding-left: 20vw;
	position: relative;
}

.top-text-wrap .data p a{
	font-size: 3.8vw;
	padding-left: 20vw;
}

.top-text-wrap .data p span:after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: rgba(255,255,255,0.5);
	position: absolute;
	left: 0;
	transform: translateY(-0.3em);
}

.top-text-wrap .title{
	display: none;
}

.top-text-wrap .sub-title{
	font-size: 4vw;
	line-height: 2;
}

footer{
	display: none;
}


/*
=================
Philosophy
=================
*/

.ph-contents-wrap{
	background: #77171b;
	padding-top: 4em;
}

.ph-contents-wrap .icatch-wrap{
	width: 100%;
	height: 100vh;
	position: relative;
}

.ph-contents-wrap .icatch-wrap img{
    height: 100%;
    width: 100%;
    object-fit:cover;
    font-family: 'object-fit: cover;'
}

.ph-contents-wrap .ph-contents{
	width: 100%;
	position: relative;
}

.ph-contents-wrap .ph-contents .text-wrap{
	width: 84%;
	margin: 0 auto;
	padding-top: 4em;
	margin-bottom: 6em;
}

.ph-contents-wrap .ph-contents .text-wrap h1{
	font-size: 15vw;
	margin-bottom: .4em;
	letter-spacing: .1em;
}

.ph-contents-wrap .ph-contents .text-wrap .read{
	font-size: 5vw;
	line-height: 2.7;
	margin-bottom: 2em;
}

.ph-contents-wrap .ph-contents .text-wrap .text{
	line-height: 2;
}

.ph-menu-wrap{
}

.ph-menu-wrap .ph-menu{
	padding: 6vw 0 20vw 8vw;
	width: 100%;
	border-top: 3px solid #FFF;
}

.ph-menu-wrap .ph-menu h2{
	font-size: 3.66vw;
	letter-spacing: .2em;
	margin-bottom: 1em;
}	

.ph-menu-wrap .ph-menu h2 span{
	font-size: 1.8em;
	letter-spacing: .1em;
	font-family: medio;
	display: block;
}

.ph-menu-wrap .open-btn{
	display: none;
}


.ph-menu-wrap .popup-contents .pop-close{
	display: none;
}

.ph-menu-wrap .popup-contents .pop-bg{
	display: none;
}

.ph-menu-wrap .popup-contents h2{
	display: none;
}	

.popup-text-wrap p{
	line-height: 2.5;
	padding-right: 8vw;
	text-align: justify;
}

.popup-text-wrap table{
	width: 100%;
	border-top:1px solid #fff;
	letter-spacing: .1em;
	margin-bottom: .2em;
	margin-top: 4em;
}

.popup-text-wrap th{
	border-bottom:1px solid #fff;
	padding: .4em .8em;
}

.popup-text-wrap td{
	border-bottom:1px solid #fff;
	padding: .4em .8em;
	font-size: 1.33em;
	font-family: medio;
}


.ph-contents-wrap .icatch-wrap .scroll{
	font-size: 5vw;
	letter-spacing: .1em;
	font-family: medio;	
	position: absolute;
	bottom: 0;
	right: 5%;
	line-height: 1;
}

.ph-contents-wrap .icatch-wrap .scroll span {
    content: "";
    display: block;
    width: 1px;
    height: 40vh;
    background: #fcf9f4;
    position: absolute;
    left: 50%;
    bottom: -2.6em;
    transform: translateX(-50%);
    overflow: hidden;
}

.ph-contents-wrap .icatch-wrap .scroll span:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	animation: arrow-line 2.2s ease-in-out infinite;
	background: #555;
}
@keyframes arrow-line {
	0%, 6% {
		transform: translateY(-100%);
	}
	33%, 66% {
		transform: translateY(0);
	}
	94%, 100% {
		transform: translateY(100%);
	}
}



/*
=================
OUR WORK
=================
*/

.work-contents-wrap{
	background: #a19f94;
	padding-top: 4em;
}

.work-contents{
	padding: 4em 0;
	position: relative;
}

.work-contents:before{
	content: "";
	display: block;
	width: 1px;
	height: 100%;
	background: rgba(255,255,255,1);
	position: absolute;
	top: 0;
	right: 0;
	transform: scaleY(0);
	transform-origin: top;
	transition: .4s ease .4s;
}

.load-on .work-contents.view:before{
	transform: scaleY(1);
}

.work-contents .inner:after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: rgba(255,255,255,1);
	position: absolute;
	bottom: 0;
	left: 0;
	transform: scaleX(0);
	transform-origin: left;
	transition: .4s ease .4s;
}

.load-on .work-contents.view .inner:after{
	transform: scaleX(1);
}


.work-contents{
	position: relative;
}

.work-contents h2{
    letter-spacing: .05em;
    width: 90vw;
    margin: 0 auto;
    font-size: 1.13em;
}

.work-contents .thumb-wrap{
	height: 0;
	padding-top: 66%;
	position: relative;
	overflow: hidden;
	line-height: 0;
	margin-bottom: 2em;
}

.work-contents .thumb-wrap:after{
	content: "";
	display: block;
	width: 70px;
	height: 70px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	background: url(img/page/enjoy_off.png) no-repeat;
	background-size: cover;
	transition: .4s ease;
}

.work-contents:hover .thumb-wrap:after{
	background: url(img/page/enjoy_on.png) no-repeat;
	background-size: cover;
}

.work-contents .thumb-wrap img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
    height: 100%;
    width: 100%;
    object-fit:cover;
    font-family: 'object-fit: cover;'
}

.work-contents .text-wrap{
	color: #231815;	
	padding: 0 5vw;
	margin-bottom: 1.66em;
}

.work-contents .text-wrap .text{
	line-height: 2;
	margin-bottom: 1em;
}

.work-contents .text-wrap .client{
}


.work-single-wrap{
	background: #a19f94;
	color: #231815;
	padding-bottom: 6em;
}

.work-single-wrap.wt{
	background: #FFF;
}

.work-single-icatch-wrap{
	padding-top: 4em;
	position: relative;
}

.work-single-icatch-wrap .top-text-wrap{
	padding-top: 33vw;
	position: relative;
	transform: none;
	top: 0;
	left: 0;
	margin-bottom: 4em;
}

.work-single-icatch-wrap .text-l{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
	padding: 0;
}

.work-single-icatch-wrap .top-text-wrap .data {
    line-height: 1;
    margin-bottom: 1.66em;
}


.work-single-icatch-wrap .top-text-wrap .title{
    display: block;
    font-size: 13vw;
    white-space: nowrap;
    line-height: 1;
    margin-bottom: 0.44em;
    position: absolute;
    top: 1em;
}

.work-single-icatch-wrap .top-text-wrap .data p span:after{
	background: #231815;
}

.work-single-icatch-wrap .work-single-thumb-wrap{
	width: 100%;
	height: 0;
	padding-top: 66.66%;
	overflow: hidden;
	position: relative;
}

.work-single-icatch-wrap .work-single-thumb-wrap img{
    height: 100%;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50% , -50%);
    position: absolute;
    object-fit:cover;
    font-family: 'object-fit: cover;'
}

.work-single-icatch-wrap .scroll{
	display: none;
}

.work-single-detail-wrap{
	color: #FFF;
	position: relative;
}

.wt .work-single-detail-wrap{
	color: #0b3b16;
}

.work-single-detail-contents{
	position: relative;
}

.work-single-detail-contents .work-slider{
	margin-bottom: 4em;
}

.work-single-detail-contents .slider{
	line-height: 0;
}

.work-single-detail-wrap .arc-link{
	display: block;
	z-index: 2;
	font-size: 8vw;
	letter-spacing: .05em;
	font-family: medio;	
	text-align: center;
}

.work-single-detail-wrap .data{
	display: block;
	z-index: 2;
	letter-spacing: .1em;
}

.work-single-detail-wrap .data{
	line-height: 1;
	margin-bottom: 3.33em;
	font-family: medio,a-otf-ryumin-pr6n,serif;
}

.work-single-detail-wrap .data p span{
	font-size: 2em;
	display: block;
	margin-bottom: .2em;
}

.work-single-detail-wrap .data p a{
	font-size: 1.3em;
}

.work-single-detail-wrap .text{
	width: 90%;
	display: block;
	z-index: 2;
	line-height: 2.6;
	font-size: .7em;
	letter-spacing: .1em;
	margin: 0 auto 8em;
}

.work-single-detail-wrap .data{
	width: 90%;
	margin: 0 auto 8em;
}

.work-movie-wrap{
	width: 100%;
	height: 0;
	padding-top: 66%;
	position: relative;
	overflow: hidden;
}

.work-movie-wrap.vimeo{
	padding-top: 56.25%;
}

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


/*
=================
Journal
=================
*/

.jn-contents-wrap{
	background: #fcf9f4;
	color: #0b3b16;
	position: relative;
	padding: 8em 5%;
	z-index: 1;
}

.jn-contents-wrap::after{
	content: "";
	display: block;
	width: 100vw;
	height: 100vh;
	background: #fcf9f4;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}

h1.jn-title{
	color: #0b3b16;
	font-size: 8vw;
    font-family: medio;
    position: absolute;
    bottom: 1vh;
    left: 50%;
    transform: translateX(-50%);
    letter-spacing: .05em;
    line-height: 1;
}

.jn-contents{
	display: table;
	margin: 0 auto;
	margin-bottom: 4em;
}

.jn-contents .thumb-wrap{
	line-height: 0;
	margin-bottom: 1em;
}

.jn-contents .text-wrap{
	width: max-content;
	max-width: 90%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.jn-contents .text-wrap .date{
    font-family: medio;
    width: 7em;
    padding-right: 4em;
    font-size: 1.2em;
    letter-spacing: .05em;
}

.jn-single-wrap{
	background: #fcf9f4;
	color: #0b3b16;
	padding: 10em 0;
}

.jn-single-wrap .thumb-wrap{
	display: table;
	max-width: 70%;
	line-height: 0;
	margin: 0 auto 6em;
}

.jn-single-wrap .text-wrap{
	border: 1px solid #0b3b16;
	width: 90%;
	min-height: 550px;
	margin: 0 auto;
}

.jn-single-wrap .text-wrap h1{
	padding: 2em;
	border-bottom: 1px solid #0b3b16;
}

.jn-single-wrap .text-wrap h1 span{
	font-size: 1.4em;
}

.jn-single-wrap .text-wrap p{
	line-height: 3;
	padding: 2em;
}

.jn-contents-wrap .prev-arrow{
	font-size: 1.6vw;
    font-family: medio;
    letter-spacing: .05em;
	position: absolute;
	bottom: 30%;
	left: 4%;
	transform: translateY(-50%);
	cursor: pointer;
}

.jn-contents-wrap .prev-arrow:before{
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	background: url(img/page/arrow_k_off.svg) no-repeat;
	background-size: cover;
	margin: 0 auto .2em;
	transform: scale(-1, 1);
	transition: .4s ease;
}

.jn-contents-wrap .prev-arrow:hover:before{
	background: url(img/page/arrow_k_on.svg) no-repeat;
	background-size: cover;
}


.jn-contents-wrap .next-arrow{
	font-size: 1.6vw;
    font-family: medio;
    letter-spacing: .05em;
	position: absolute;
	bottom: 30%;
	right: 4%;
	transform: translateY(-50%);
	cursor: pointer;
}

.jn-contents-wrap .next-arrow:before{
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	background: url(img/page/arrow_k_off.svg) no-repeat;
	background-size: cover;
	margin: 0 auto .2em;
	transition: .4s ease;
}

.jn-contents-wrap .next-arrow:hover:before{
	background: url(img/page/arrow_k_on.svg) no-repeat;
	background-size: cover;
}




/*
=================
ART
=================
*/

#art-wrap{
	background: #FFF;
}

.art-icatch-wrap{
	width: 100vw;
}

.gradient {
	width: 100vw;
	height: 100vh;
	background: rgb(2,0,36);
	background: linear-gradient(180deg, rgba(27,41,55,1) 0%, rgba(27,41,55,1) 60%, rgba(27,40,79,1) 65%, rgba(27,39,86,1) 70%, rgba(89,33,96,1) 74%, rgba(255,255,255,0) 100%);
	position: relative;
	animation: gra0 4141ms infinite alternate linear;
	z-index: 2;
}

@keyframes gra0 {
  0% {transform: translateY(0);}
  50% {transform: translateY(-2%);}
  75% {transform: translateY(-4%);}
  100% {transform: translateY(-3%);}
}


.gradient span:nth-of-type(1) {
	content: "";
	display: block;
	width: 200vw;
	height: 100vh;
	background: rgb(2,0,36);
	background: linear-gradient(180deg, rgba(27,41,55,1) 0%, rgba(27,41,55,1) 60%, rgba(27,40,79,1) 65%, rgba(27,39,86,1) 70%, rgba(89,33,96,1) 74%, rgba(255,255,255,0) 100%);
	position: absolute;
	z-index: 3;
	opacity: .3;
	left: 50%;
	top: 0;
	transform: translate(-50% , 0);
	animation: gra 2823ms infinite alternate linear;

}


@keyframes gra {
	
  0% {
	transform: translate(-50% , 0) rotate3d(0, 0, 1, 2deg);
	opacity: 0;
	border-radius: 50%;
  }
  50% {
	opacity: 1;
	border-radius: 0%;
  }
  100% {
	transform: translate(-50% , 5%) rotate3d(0, 0, 1, -2deg);
	opacity: 0;
	border-radius: 50%;

  }
}

.gradient span:nth-of-type(2) {
	content: "";
	display: block;
	width: 200vw;
	height: 97vh;
	background: rgb(2,0,36);
	background: linear-gradient(180deg, rgba(27,41,55,1) 0%, rgba(27,41,55,1) 60%, rgba(27,40,79,1) 65%, rgba(27,39,86,1) 70%, rgba(89,33,96,1) 74%, rgba(255,255,255,0) 100%);
	position: absolute;
	z-index: 3;
	opacity: .3;
	left: 50%;
	top: 0;
	transform: translate(-50% , 0);
	animation: gra2 2641ms infinite alternate linear;

}


@keyframes gra2 {
  0% {
	transform: translate(-50% , 0) rotate3d(0, 0, 1, -2deg);
	opacity: 0;
	border-radius: 50%;
  }
  50% {
	opacity: 1;
	border-radius: 0%;
  }
  100% {
	transform: translate(-50% , -5%) rotate3d(0, 0, 1, 2deg);
	opacity: 0;
	border-radius: 50%;
  }
}



.gradient span:nth-of-type(3) {
	content: "";
	display: block;
	width: 200vw;
	height: 95vh;
	background: rgb(2,0,36);
	background: linear-gradient(180deg, rgba(27,41,55,1) 0%, rgba(27,41,55,1) 60%, rgba(27,40,79,1) 65%, rgba(27,39,86,1) 70%, rgba(89,33,96,1) 74%, rgba(255,255,255,0) 100%);
	position: absolute;
	z-index: 3;
	opacity: .3;
	left: 50%;
	top: 0;
	transform: translate(-50% , 0);
	animation: gra2 3623ms infinite alternate linear;

}


.gradient span:nth-of-type(4) {
	content: "";
	display: block;
	width: 200vw;
	height: 92vh;
	background: rgb(2,0,36);
	background: linear-gradient(180deg, rgba(27,41,55,1) 0%, rgba(27,41,55,1) 60%, rgba(27,40,79,1) 65%, rgba(27,39,86,1) 70%, rgba(89,33,96,1) 74%, rgba(255,255,255,0) 100%);
	position: absolute;
	z-index: 3;
	opacity: .3;
	left: 50%;
	top: 0;
	transform: translate(-50% , 0);
	animation: gra 2423ms infinite alternate linear;

}


.art-logo{
	position: absolute;
	top: 4em;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	max-width: 110px;
}

.art-icatch-wrap .copy{
	font-size: .8em;
	position: absolute;
	top: 4em;
    right: 5%;
	transform: rotate(90deg) translateX(100%);
	transform-origin:right top;
	z-index: 2;
	opacity: 0;
	transition: all 1s ease-out;
	margin-top: 20px;
}

.art-icatch-wrap .read{
	line-height: 2.7;
	color: #412e49;
	z-index: 2;
	width: 90%;
	margin: 4em auto 0;
	padding-top: 20px;
	opacity: 0;
	transition: all 1s ease-out;
}

.load-on .art-icatch-wrap .copy,
.load-on .art-icatch-wrap .read{
	margin-top: 0;
	padding-top: 0;
	opacity: 1;
}


.art-contents-wrap{
	padding-top: 6em;
	width: 100%;
	margin: 0 auto;
	padding-bottom: 10em;
}

.art-contents-wrap .line{
	display: none;	
}

.art-contents-wrap .art-contents{
	margin-bottom: 4em;
}

.art-contents-wrap .art-contents .thumb-wrap{
	line-height: 0;
	margin-bottom: 3.33em;
}

.art-contents-wrap .art-contents .art-btn{
	display: block;
	width: 80%;
	margin: 0 auto;
	font-size: 1.08em;
	padding: 1em;
	color: #412e49;
	border: 1px solid #412e49;
	text-align: center;
	transition: .4s ease;
}

.art-contents-wrap .art-contents:hover .art-btn{
	background: #412e49;
	color: #FFF;
}

.art-single-wrap{
	width: 100vw;
	padding-top: 18em;
	color: #412e49;
}

.art-single-wrap .art-logo{
	top: 6.66em;
}

.art-single-contents-wrap{
	width: 100%;
	margin: 0 auto;
	position: relative;
}

.art-single-contents-wrap a{
	cursor: none;
}

.art-single-contents-wrap .thumb-wrap{
	width: 100%;
	height: 0;
	padding-top: 66.66%;
	position: relative;
	line-height: 0;
	margin-bottom: 4em;
	opacity: 0;
    animation: fadeIn .6s ease 2s 1 forwards;
    -webkit-animation: fadeIn .6s ease 2s 1 forwards;
}

.art-single-contents-wrap .thumb-wrap img{
    height: 100%;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50% , -50%);
    object-fit:cover;
    font-family: 'object-fit: cover;'
}

.art-single-contents-wrap .copy{
    font-size: 1.33em;
    text-align: center;
    margin-bottom: 2.4em;
}

.art-loading{
	background: #FFF url(img/page/art_index.png) no-repeat center center;
	background-size: 70vw auto;
	width: 100%;
	height: 0;
	padding-top: 66.66%;
	position: absolute;
	z-index: 2;
    animation: fadeOut .8s ease 3s 1 forwards;
    -webkit-animation: fadeOut .8s ease 3s 1 forwards;
}

.art-loading .copy{
    margin-top: 3em;
}

.art-single-contents-wrap h1.copy{
	opacity: 0;
    animation: fadeIn .6s ease 2s 1 forwards;
    -webkit-animation: fadeIn .6s ease 2s 1 forwards;
}

.art-single-contents-wrap .text-wrap{
	width: 86%;
	margin: 0 auto;
	display: block;
	line-height: 3;
	z-index: 2;
}

.art-link{
	padding: 8em 0;
	opacity: 0;
    animation: fadeIn .6s ease 2s 1 forwards;
    -webkit-animation: fadeIn .6s ease 2s 1 forwards;
}

.art-link a{
	display: block;
	width: 33vw;
	height: 33vw;
	background: url(img/page/art_next.png) no-repeat;
	background-size: cover;
	margin: 0 auto;
}



/*
=================
Contact
=================
*/

.contact-contents-wrap{
	background: #0b3b16;
	padding-top: 8em;
	color: #fff;
    min-height: 100vh;
	padding-bottom: 5vw;
}

.contact-contents-wrap h1{
    font-family: medio;
    font-size: 17vw;
    letter-spacing: .05em;
    border-bottom: 1px solid #FFF;
    line-height: 1;
    padding-bottom: .1em;
    padding-right: .3em;
    margin-bottom: .1em;
}

.contact-contents-wrap .sub-title{
    font-size: 1.33em;
}

.contact-contents-wrap .thumb-wrap{
	width: 50vw;
	margin-top: 2em;
	padding-left: 5%;
}

.contact-contents-wrap .contact-title-wrap{
	width: 100%;
	text-align: center;
}

.contact-contents-wrap .contact-main-wrap{
	width: 90%;
	padding-top: 4em;
	margin: 0 auto;
}

.contact-contents-wrap .contact-main-wrap .read-wrap{
	font-size: 1.08em;
	letter-spacing: .1em;
	margin-bottom: 4em;
}

.contact-contents-wrap .contact-main-wrap .read-wrap .info{
	margin-bottom: 1.66em;
}

.contact-contents-wrap .contact-main-wrap .read-wrap .info .link{
	display: table;
	border: 1px solid #fcf9f4;
	color: #fcf9f4;
	padding: 1em;
	line-height: 1;	
	font-size: .8em;
	transition: .4s ease;
	margin-top: 1.66em;
}

.contact-contents-wrap .contact-main-wrap .read-wrap .info .link:hover{
	color: #0b3b16;
	background: #FFF;
}

.contact-contents-wrap .contact-main-wrap .read-wrap .info .link span{
	display: inline-block;
	font-size: 1.33em;
	margin-left: .8em;	
}

.contact-contents-wrap .contact-main-wrap .form-wrap{
	border-top: 3px solid #fcf9f4;
}

.contact-contents-wrap .contact-main-wrap .form-wrap th{
	padding: 1.33em .4em 0;
	white-space: nowrap;
	vertical-align: top;
	display: block;
	width: 100%;
}

.contact-contents-wrap .contact-main-wrap .form-wrap th .en{
	font-size: 1.33em;
	letter-spacing: .05em;
	margin-right: 1em;
}

.contact-contents-wrap .contact-main-wrap .form-wrap td{
	padding: 0 0 1em;
	font-size: 1.13em;
	border-bottom: 1px solid #fcf9f4;
	display: block;
	width: 100%;
}

input[type="text"],
input[type="email"],
textarea{
	width: 100%;
    padding: 0;
    line-height: 1.85714;
    letter-spacing: .1em;
    border: none;
    margin-top: 0;
    background: none;
    outline: none;
    -webkit-appearance: none;
    color: #FFF;
	font-family: a-otf-ryumin-pr6n,serif;
	font-weight: 300;
	font-style: normal;
}

input::-webkit-input-placeholder { color:#FFF;}
input:-moz-placeholder { color:#FFF;}
input::-moz-placeholder { color:#FFF;}

textarea::-webkit-input-placeholder { color:#FFF;}
textarea:-moz-placeholder { color:#FFF;}
textarea::-moz-placeholder { color:#FFF;}


input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
	color: transparent;
}
input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
	color: transparent;
}
input:focus::-ms-input-placeholder,
textarea:focus::-ms-input-placeholder {
	color: transparent;
}
input:focus::placeholder,
textarea:focus::placeholder {
	color: transparent;
}

.contact-contents-wrap .contact-main-wrap .form-wrap .radio-list td{
	padding: 2em 0;
}

td.radio label{
	line-height: 1;
	display: inline-block;
}
.radio-input{
  display: none;
}
.radio-input + label{
  padding-left: 2em;
  position:relative;
  display: block;
  margin-bottom: .6em;
}
.radio-input + label::before{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #fcf9f4;
  border-radius: 50%;
  transform: translateY(-50%);
}
.radio-input:checked + label{
  color: #fcf9f4;
}
.radio-input:checked + label::after{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 3px;
  width: 11px;
  height: 11px;
  background: #fcf9f4;
  border-radius: 50%;
  transform: translateY(-50%);
}

.btn-wrap{
	text-align: right;
}

input[type="submit"]{
    font-family: medio;
    padding: .2em .4em;
    background: none;
    color: #fcf9f4;
    font-size: 8vw;
    line-height: 1;
    border: 1px solid #fcf9f4;
    letter-spacing: .1em;
    -webkit-appearance: none;
    outline: none;
	cursor: pointer;
	transition: .4s ease;
	text-align: center;
	display: inline-block;
	margin: 0 10px;
}

input[type="submit"]:hover{
	color: #0b3b16;
	background: #fcf9f4;
}

.thanks-wrap{
	margin-bottom: 10em;
}

.thanks-wrap h2{
	font-size: 2.33em;
	margin-bottom: 1.66em;
}

.thanks-wrap a{
	display: block;
	font-size: 1.33em;
	margin-top: 3em;
	text-decoration: underline;
}

.p404-contents-wrap{
	background: #77171b;
	color: #FFF;
	padding-top: 4.6vw;
	position: relative;
	width: 100%;
	height: 100vh;
}

.p404-contents{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);	
	text-align: center;
	width: 90%;
}

.p404-contents h1{
	font-size: 10vw;
}

.p404-contents p{
	font-size: 1.16em;
}

.p404-contents a{
	display: block;
	font-size: 1.33em;
	margin-top: 3em;
	text-decoration: underline;
}


/*
=================
openmenu
=================
*/

.open-menu-btn-wrap {
  display: block;
  position: absolute;
  z-index: 100;
  width: 2.4em;
  height: .66em;
  top: 1.66em;
  right: 5%;
  cursor: pointer;
  z-index: 999
}

.open .open-menu-btn-wrap {
	position: fixed;
}

.open-menu-btn-wrap.art {
  opacity: 0;
  pointer-events: none;
}

.open .open-menu-btn-wrap.art {
  opacity: 1;
  pointer-events: inherit;
}


.open-menu-btn {
  display: block;
  border: none;
  width: 100%;
  height: 100%;
  position: relative;
  transition: .3s;
}


.open-menu-btn .toggle,
.open.bk .open-menu-btn .toggle{
  display: block;
  background: #FFF;
  width: 100%;
  height: 1px;
  position: absolute;
  transition: .4s;
}

.bk .open-menu-btn .toggle{
	background: #0b3b16;
}

.open-menu-btn .toggle:nth-child(1) {
  top: 0;
}

.open-menu-btn .toggle:nth-child(2) {
  bottom: 0;
}

/* アートページ用 */
.art-open-menu-btn-wrap {
  display: block;
  position: absolute;
  z-index: 100;
  width: 2.4em;
  height: .66em;
  top: 3.33em;
  left: 5%;
  cursor: pointer;
  z-index: 888
}

.art-open-menu-btn-wrap .open-menu-btn {
  display: block;
  border: none;
  width: 100%;
  height: 100%;
  position: relative;
  transition: .3s;
}

.art-open-menu-btn-wrap .open-menu-btn .toggle {
  display: block;
  background: #FFF;
  width: 100%;
  height: 1px;
  position: absolute;
  transition: 0s;
}

.art-open-menu-btn-wrap.bk .open-menu-btn .toggle{
	background: #412e49;
}

.open .art-open-menu-btn-wrap .open-menu-btn .toggle {
	opacity: 0;
}

.art-open-menu-btn-wrap .open-menu-btn .toggle:nth-child(1) {
  top: 0;
}

.art-open-menu-btn-wrap .open-menu-btn .toggle:nth-child(2) {
  bottom: 0;
}


.open .open-menu-btn {
    transform: rotate(90deg);
}

.open .open-menu-btn .toggle:nth-child(1) {
    top: 50%;
	transform: translate3d(0,-50%,0) rotate(45deg);
}

.open .open-menu-btn .toggle:nth-child(2) {
    transform: translate3d(0,50%,0) rotate(-45deg);
    bottom: 50%;
}


.open-menu-bg {
  width: 100vw;
  height: 100dvh;
  position: fixed;
  background: #77171b;
  top: 0;
  right: 0;
  height: 100%;
  transition: all .4s ease;
  z-index: 998;
  opacity: 0;
  pointer-events: none
}

.open .open-menu-bg {
  opacity: 1;
  pointer-events: inherit
}

.open-menu-bg:after{
	content: "";
	display: block;
	width: 45vw;
	height: 30vw;
	background: url(img/common/menu.jpg) no-repeat;
	background-size: cover;
	position: absolute;
	right: 0;
	bottom: 0;
}

.open-menu-wrap {
  width: 100%;
  height: 100dvh;
  position: fixed;
  top: 0;
  right: 0;
  font-family: medio;
  transition: all .4s ease;
  overflow-y: scroll;
  overflow-x: hidden;
  z-index: 998;
  opacity: 0;
  pointer-events: none;
}

.open .open-menu-wrap {
  opacity: 1;
  pointer-events: inherit
}

.open-header{
	width: 100%;
	position: absolute;
	color: #FFF;
	font-family: medio;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding: 0 5vw;
	border-bottom: 1px solid rgba(255,255,255,0.5);
	line-height: 1;
	letter-spacing: .05em;
	height: 4em;
}

.open-header:after{
	content: "";
	display: block;
	width: 1px;
	height: 100%;
	background: rgba(255,255,255,0.5);
	position: absolute;
	top: 0;
	right: calc(2.4em + 10vw);
}
.open-header .logo{
	font-size: .6vw;
	width: calc(70vw - 2.4em);
	max-width: 300px;
}

.open-nav{
    padding: 8em 0 0 33vw;	
}

.open-nav:before{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: rgba(255,255,255,1);
	position: absolute;
	left: 0;
}

.open-nav ul{
	padding-top: 3.33em;
}

.open-nav li{
	font-size: 9vw;
	font-family: medio;
	letter-spacing: .05em;
	margin-bottom: .2em;
}

.close-wrap{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 21vw;
	height: calc(100% - 4em);
	border-right: 1px solid rgba(255,255,255,0.5);
}

.close-wrap .close-btn{
	font-size: 17vw;
	letter-spacing: .05em;
	transform: rotate(-90deg) translateY(-35%);
	position: absolute;
	bottom: 10%;	
}