@charset "UTF-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */
.sp {
	display: none !important;
}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
	width: 100%;
	overflow: hidden;
	min-width: 1024px;
	position: relative;
	z-index: 2;
}

.inner,
.inner02 {
	padding: 0 20px;
	max-width: 996px;
	margin: 0 auto;
	position: relative;
}

.inner02 {
	max-width: 704px
}

/* !header
---------------------------------------------------------- */
#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99;
}

#headerIn {
	max-width: 1240px;
	padding: 0 20px;
	margin: 0 auto;
	position: relative;
}

#headerLinks {}

/*btnMenu*/
.btnMenu {
	position: absolute;
	right: 20px;
	top: 38px;
	z-index: 998;
}

.btnMenu a {
	display: block;
	width: 50px;
	height: 40px;
	box-sizing: border-box;
	position: relative;
}

.btnMenu a span {
	box-shadow: 0 0 4px rgba(0, 0, 0, .3);
	display: block;
	background: #fff;
	width: 24px;
	height: 2px;
	position: absolute;
	/*left: 5px;*/
	transition: all 0.4s;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	border-radius: 2px;
}

.btnMenu.active a span {
	width: 40px;
	height: 2px;
}

.btnMenu a span:first-child {
	top: 7px;
	left: 3px;
	-webkit-transform: translateY(0px) rotate(35deg);
	-moz-transform: translateY(0px) rotate(35deg);
	-ms-transform: translateY(0px) rotate(35deg);
	transform: translateY(0px) rotate(35deg);
}

.btnMenu a span:nth-child(2) {
	right: 3px;
	top: 7px;
	-webkit-transform: translateY(0px) rotate(-35deg);
	-moz-transform: translateY(0px) rotate(-35deg);
	-ms-transform: translateY(0px) rotate(-35deg);
	transform: translateY(0px) rotate(-35deg);
}

.btnMenu a span:last-child {
	bottom: 0px;
	left: 50%;
	-webkit-transform: translate(-12px, -12px) rotate(90deg);
	-moz-transform: translate(-12px, -12px) rotate(90deg);
	-ms-transform: translate(-12px, -12px) rotate(90deg);
	transform: translate(-12px, -12px) rotate(90deg);
}

.btnMenu.active a span:first-child {
	top: 20px;
	left: -13px;
	-webkit-transform: translateY(0px) rotate(90deg);
	-moz-transform: translateY(0px) rotate(90deg);
	-ms-transform: translateY(0px) rotate(90deg);
	transform: translateY(0px) rotate(90deg);
}

.btnMenu.active a span:nth-child(2) {
	top: 20px;
	right: -13px;
	-webkit-transform: translateY(0px) rotate(90deg);
	-moz-transform: translateY(0px) rotate(90deg);
	-ms-transform: translateY(0px) rotate(90deg);
	transform: translateY(0px) rotate(90deg);
}

.btnMenu.active a span:last-child {
	width: 53px;
	left: -1px;
	bottom: 50%;
	-webkit-transform: translateY(2px) rotate(47deg);
	-moz-transform: translateY(2px) rotate(47deg);
	-ms-transform: translateY(2px) rotate(47deg);
	transform: translateY(2px) rotate(47deg);
}

/* !gNavi
---------------------------------------------------------- */
#gNavi {
	position: fixed;
	z-index: 997;
	width: 100%;
	height: 93px;
	top: 0px;
	right: 0;
	-webkit-overflow-scrolling: touch;
	background: rgba(0, 0, 0, .2);
	box-sizing: border-box;
	padding: 25px 0px 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s !important;
}

#gNavi.active {
	opacity: 1;
	pointer-events: auto;
}

.gNaviIn {
	max-width: 1240px;
	padding: 0px 110px;
	margin: 0 auto;
	overflow: hidden;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.gNaviBox {
	display: flex;
	align-items: center;
	transition: transform .7s, opacity 0.5s !important;
	transform: translateX(100%);
}

#gNavi.active .gNaviBox {
	transform: translateX(0%);
}

.gNaviUl {
	display: flex;
}

.gNaviUl li {
	margin-right: 32px;
}

.gNaviUl li a {
	color: #fff;
	text-transform: uppercase;
	font-size: 1.4rem;
	letter-spacing: 0.08em;
}

.gNaviUl li a:hover {
	color: #888888
}

.gNaviSns {
	display: flex;
}

.gNaviSns li+li {
	margin-left: 20px;
}

.gNaviSns li a {
	display: block;
	position: relative;
}

.gNaviSns li a img {
	width: 30px;
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
}

.gNaviSns li a .on {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

.gNaviSns li a:hover .no {
	opacity: 0
}

.gNaviSns li a:hover .on {
	opacity: 1;
}

/* !mainVisual
---------------------------------------------------------- */
#mainVisual {
	position: relative;
}

.bg_video {
	min-width: 100%;
	height: 100vh;
	min-height: 100vh;
}

.bg_video video {
	-o-object-fit: cover;
	width: 100%;
	height: 100vh;
	object-fit: cover;
}

.mvTxt {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 2;
	animation-name: mvTxt;
	animation-duration: 3s !important;
	margin-top: -115px;
}

.mvTxt img {
	width: 240px;
}

@keyframes mvTxt {
	0% {
		opacity: 0;
		-webkit-transform: translateY(100vh);
		-ms-transform: translateY(100vh);
		transform: translateY(100vh);
	}

	50% {
		opacity: .4;
	}

	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}

.scrollP {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	z-index: 2;
	color: #fff;
	padding-bottom: 70px;
}

@keyframes scroller {
	0% {
		bottom: 0px;
		height: 60px;
	}

	20% {
		bottom: 0px;
		height: 0px;
	}

	20.1% {
		bottom: 60px;
		height: 0px;
	}

	50% {
		bottom: 60px;
		height: 0px;
	}

	100% {
		bottom: 0;
		height: 60px;
	}
}

.scrollP span,
.scrollP a {
	color: #fff;
	font-size: 1rem;
	letter-spacing: 0.1em
}

.scrollP span:before,
.scrollP a:before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	border-right: 1px solid #fff;
	height: 60px;
	-webkit-animation: scroller 2s cubic-bezier(.65, .05, .36, 1) 0s infinite;
	animation: scroller 2s cubic-bezier(.65, .05, .36, 1) 0s infinite;
	z-index: 2;
}

/* !teaser
---------------------------------------------------------- */
#teaser {
	background: #888888;
	color: #fff;
	padding: 142px 0 45px;
}

.teaserHd {
	text-align: center;
	font-size: 3rem;
	line-height: 1.3;
	letter-spacing: 0.05em;
	margin-bottom: 50px;
}

#teaser .indexUl02 {
	margin-bottom: 0
}

#teaser .indexUl02 li a {
	color: #fff
}

.blogTeaser {
	padding-top: 100px;
	text-align: center;
}

.blogTeaserInner {
	padding: 0 44px;
}

.blogTeaserHd .txt {
	padding: 15px 0 30px;
	font-size: 3rem;
	letter-spacing: 0.05em
}

.blogTeaserImg {
	height: 300px;
	background: url(../img/blog/teaser_blog.jpg)no-repeat center center;
	background-size: cover;
}

/* !breadcrumb
---------------------------------------------------------- */
#breadcrumb {
	font-family: 'PT Sans', sans-serif;
	width: 100%;
	position: relative;
}

#breadcrumb ul {
	padding: 20px 0;
	color: #888888;
	font-size: 1.3rem;
	letter-spacing: 0.05em
}

#breadcrumb ul li {
	display: inline-block;
	position: relative;
	padding-right: 16px;
}

#breadcrumb ul li a {
	color: #888888;
	/*text-decoration: underline;*/
}

#breadcrumb ul li:before {
	position: absolute;
	right: 3px;
	top: 0;
	z-index: 2;
	content: ">";
}

#breadcrumb ul li:last-of-type {}

#breadcrumb ul li:last-of-type:before {
	content: none;
}

#breadcrumb ul li a:hover {
	text-decoration: underline;
}

/* !footer
---------------------------------------------------------- */
#footer {
	background: #CCCCCC;
	padding: 100px 0 35px;
	position: relative;
	z-index: 2;
}

#footer .footerIn {
	max-width: 1126px;
}

.ftLogo {
	position: absolute;
	left: 20px;
	bottom: 0;
	z-index: 1;
	width: 90px
}

#copyright {
	font-family: 'PT Sans', sans-serif;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	text-align: center;
}

/* !common
---------------------------------------------------------- */
.section,
.sectionSp {
	min-height: 100vh;
}

.section>div {
	height: 100%
}

.animated {
	animation-duration: 1.5s;
}

@keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(160px);
		-ms-transform: translateY(160px);
		transform: translateY(160px);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}

@keyframes fadeInRight {
	0% {
		opacity: 0;
		-webkit-transform: translateX(160px);
		-ms-transform: translateX(160px);
		transform: translateX(160px);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}

@keyframes fadeInLeft {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-160px);
		-ms-transform: translateX(-160px);
		transform: translateX(-160px);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}

.comP01 {
	font-size: 1.3rem;
	line-height: 33px;
	letter-spacing: 0.05em;
	font-family: 'PT Sans', sans-serif;
	text-align: justify;
}

.comP02 {
	font-size: 1.2rem;
	line-height: 35px;
	letter-spacing: 0.05em;
	text-align: justify;
}

.hd01 {
	text-align: center;
	margin-bottom: 60px;
	font-size: 3rem;
	line-height: 1.3;
	letter-spacing: 0.05em;
	position: relative;
	font-family: 'PT Sans', sans-serif;
	font-weight: 400;
	color: #000
}

.hd01.grayBg:after {
	content: '';
	position: absolute;
	top: calc(100% + 30px);
	left: 0;
	z-index: -1;
	background: #EEEEEE;
	width: 100%;
	height: 100vh;
}

/* !index
---------------------------------------------------------- */
.indexSec01,
.indexSec02 {
	background: #000;
	color: #fff;
	position: relative;
}

.indexSec01 .inner,
.indexSec02 .inner,
.indexSec03 .inner,
.indexSec04 .inner {
	height: 100%;
	display: flex;
	align-items: center;
	color: #fff;
}

.indexDl01 {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.indexDl01 dt {
	max-width: 400px
}

.indexDl01 dd {
	max-width: 460px
}

.indexSec01 .p01 {
	text-align: center;
}

.indexSec01 .p01 .en {
	font-size: 3rem;
	line-height: 1.3;
	letter-spacing: 0.05em;
	margin-bottom: 25px;
}

.indexSec01 .p01 .jp {
	font-size: 2rem;
	line-height: 1.3;
	letter-spacing: 0.3em;
	margin-bottom: 65px;
}

.indexDl01 .img {
	position: relative;
}

.indexDl01 .imgLine {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	z-index: 2;
	text-align: center;
}

.indexSec01 .indexDl01 {
	align-items: flex-start;
	padding-top: 10%;
}

.indexSec01 .indexDl01 dd {
	padding-top: 25px;
	max-width: 420px;
}

.indexSec02 {}

.indexSec02 .indexDl01 dt {
	padding-top: 10%
}

.indexSec02 .indexDl01 dd {}

.indexSec02 .indexDl01 .img {
	max-width: 260px
}

.indexSec02 .indexDl01 .imgLine {
	width: 286px;
	left: 50%;
	transform: translateX(-50%);
}

.indexSec03 {
	background: url(../img/index/03_tearoom.jpg)no-repeat center center;
	background-size: cover;
	height: 100vh
}

.indexSec04 {
	padding: 170px 0;
	background: url(../img/index/home_bg.jpg)no-repeat center center;
	background-size: cover;
	background-attachment: fixed;
	position: relative;
}

.indexSec04:before {
	content: '';
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .4)
}

.indexSec04 .inner {
	z-index: 2;
}

.indexSec05 {
	padding: 150px 0 0;
}

.indexUl01 {
	/* display: flex;
	justify-content: center; */
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
	width: fit-content;
	margin: auto;
}

.indexUl01 li {
	width: 100%;
	max-width: 308px
}

/* .indexUl01 li + li{margin-left: 16px} */
.indexUl01 a {
	display: block;
	position: relative;
	overflow: hidden;
	background: #000;
	color: #fff;
}

.indexUl01 img {
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important;
	-webkit-transition: all 0.3s !important;
}

.indexUl01 a:hover img {
	transform: scale(1.1);
	opacity: .8;
}

.indexUl01 .txt {
	transition: opacity 0.3s !important;
	-moz-transition: opacity 0.3s !important;
	-webkit-transition: opacity 0.3s !important;
	opacity: 0;
	font-size: 2rem;
	letter-spacing: .15em;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.indexUl01 a:hover .txt {
	opacity: 1
}

.indexSec06 {
	padding: 194px 0 46px;
	overflow: hidden;
}

.indexSec06 .inner {
	max-width: 840px
}

.indexUl02 {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}

.indexUl02 li {
	margin: 0;
}

.indexUl02 li a {
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	color: #888888;
}

.indexUl03 li {
	display: flex;
}

.indexUl03 li+li {
	margin-top: 30px
}

.indexUl03 .date {
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	/*margin-right: 55px;*/
	width: 13%;
}

.indexUl03 .categP {
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	/*margin-right: 61px;*/
	width: 17%;
}

.indexUl03 .txt {
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	width: 70%;
}

.indexSec07 {
	padding: 200px 0 114px;
}

.indexSec07 .inner {
	max-width: 840px
}

.indexSec07 .hd01 {
	margin-bottom: 80px
}

.contactDl {
	display: flex;
}

.contactDl dt {
	/*width: 80px;*/
	width: 130px;
	padding-top: 3px;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	font-family: 'PT Sans', sans-serif;
}

.contactDl dd {
	width: calc(100% - 80px)
}

.contactDl+.contactDl {
	margin-top: 24px
}

.contactForm input[type='text'],
.contactForm input[type='email'],
.contactForm textarea {
	width: 100%;
	height: 25px;
	padding: 0 10px;
	font-size: 1.3rem;
	border: 1px solid #888888;
	background: none;
}

.contactForm textarea {
	padding: 5px 10px;
	min-height: 118px;
	display: block;
	resize: none;
}

.contactForm label {
	display: block;
	padding: 5px 0;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	font-family: 'PT Sans', sans-serif;
}

.contactBtn {
	display: flex;
	justify-content: center;
	margin-top: 18px;
}

.contactBtn li+li {
	margin-left: 18px
}

.contactBtn input {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #888888;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	width: 168px;
	height: 25px;
	font-family: 'PT Sans', sans-serif;
}

.contactP {
	text-align: center;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	margin-top: 30px;
	font-family: 'PT Sans', sans-serif;
}

/*works tearoom*/
.tearoomItem.bgImg .inner {
	height: 100%;
}

.tearoomP01 {
	font-size: 3rem;
	letter-spacing: 0.05em;
	padding-top: 125px;
	text-align: center;
	color: #fff;
	position: relative;
	z-index: 10;
}

#tearoompage .tearoomP01 {
	font-size: 3rem;
	letter-spacing: 0.05em;
	padding-top: 0;
	text-align: center;
	color: #fff;
	width: 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.tearoomSec05 {
	padding-bottom: 200px
}

.tearoomSec06.bgImg {
	height: 450px;
	background-position: bottom 35% center
}

/*icewall*/
.icewallSec02 {
	padding: 200px 0;
}

.icewallDl01 {
	display: flex;
	justify-content: space-between;
}

.icewallDl01 dt {
	width: 324px;
}

.icewallDl01 dd {
	width: 470px;
	position: relative;
}

.icewallHd {
	font-size: 2rem;
	letter-spacing: 0.2em;
	margin-bottom: 350px;
	font-family: 'PT Sans', sans-serif;
}

.icewallUl01 {}

.icewallUl01:before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 200px;
	z-index: -1;
	background: #CBCBCB;
	width: 1920px;
	height: 650px
}

.icewallUl01 li+li {
	margin-top: 50px
}

.icewallSec03 {
	padding-bottom: 200px
}

.icewallSec03 .bgImg {
	height: 700px;
	display: block;
	margin-bottom: 150px;
}

.icewallSec03 .icewallUl01:before {
	height: 550px
}

.icewallUl02 {
	display: flex;
	justify-content: space-between;
	margin: 250px -8px 0;
}

.icewallUl02 li {
	margin: 0 8px;
	text-align: center;
	width: 308px;
}

.icewallUl02 .txt {
	font-size: 2rem;
	letter-spacing: 0.2em;
	font-family: 'PT Sans', sans-serif;
	margin-top: 26px;
}

.icewallUl03 {
	margin: 250px -8px 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.icewallSec04 {
	padding: 100px 0 200px;
	background: #EEEEEE
}

.icewallSec05.bgImg {
	height: 450px;
	background-position: top 40% center
}

.icewall-list {
	margin: 0 auto 50px;
}

/*boneflower*/
.postid-333 #wrapper{
	overflow:visible;
}
.boneflowerSec01 {
	background: #000;
	color: #fff;
	position: relative;
}

.flowerDl01 {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}

.flowerDl01 dt {
	max-width: 368px
}

.flowerDl01 dd {
	max-width: 470px;
	padding-top: 22px;
}

.flowerBox .txt+.txt {
	margin-top: 60px
}

.boneflowerSec02 .bgImg {
	height: 500px;
	background-attachment: fixed
}

.boneflowerSec03 {
	background: #060607;
}

.boneflowerSec03 .inner {}

.flowerDl02 {
	width: 100%
}

.flowerDl02 dt {
	float: left;
	width: 340px;
	text-align: center;
	padding-top: 30vh;
}

.flowerDl02 .box {
	position: relative;
}

.flowerDl02 .box .txt {
	font-size: 2rem;
	letter-spacing: 0.15em;
	font-family: 'PT Sans', sans-serif;
	margin-top: -70px;
	color: #fff
}

.flowerDl02 dd {
	float: right;
	margin-right: -600px;
	width: 750px;
	height: 100vh;
	/*overflow: hidden;*/
	padding-top: 20px;
}

.flowerDl02 dd .img img {
	max-height: 110vh;
}

.boneflowerSec04 {
	background: #000001
}

.boneflowerSec04 .flowerDl02 dt {
	float: right;
	width: 236px;
}

.boneflowerSec04 .flowerDl02 .box .txt {
	margin-top: 0
}

.boneflowerSec04 .flowerDl02 dd {
	float: left;
	margin-right: 0px;
	margin-left: -250px;
	width: 536px;
	height: 100vh;
	padding-top: 50px;
}

.boneflowerSec05 {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #000;
	color: #fff;
}

.boneflowerSec05 .box {
	position: relative;
}

.boneflowerSec05 .box .txt {
	font-size: 2rem;
	letter-spacing: 0.15em;
	position: absolute;
	bottom: 84px;
	text-align: center;
	left: 50%;
	transform: translateX(-50%);
}

.boneflowerSec05 .img img {
	max-height: 100vh
}

.boneflowerSec06 {
	background: #CBCBCB;
	padding-bottom: 85px;
}

.boneflowerSec06 .bgImg {
	height: 450px;
	background-attachment: fixed
}

.flowerSlider {
	margin: 200px 0 0;
}

.flowerSlist {
	margin: 0 10px;
	max-width: 352px;
}

.flowerSlist a {
	display: block;
	position: relative;
	overflow: hidden;
}

.boneflower-list .flowerSlist a {
	background: #000;
}

.flowerSlist .img img {
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important;
	-webkit-transition: all 0.3s !important;
}

.flowerSlist a:hover .img img {
	transform: scale(1.1);
}

.fancyboxItem img {
	width: 632px;
	max-height: 65vh;
	object-fit: contain;
}

.fancybox-overlay {
	background: rgba(0, 0, 0, .85);
}

.fancybox-title.fancybox-title-float-wrap {
	bottom: auto;
	top: 105%;
}

.fancybox-title-float-wrap .child {
	display: inline-block;
	margin-right: -100%;
	padding: 2px 20px;
	background: transparent;
	text-shadow: none;
	color: #FFF;
	font-weight: 400;
	line-height: 24px;
	white-space: nowrap;
	font-family: 'PT Sans', sans-serif;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
}

.fancybox-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 100%;
	cursor: pointer;
	text-decoration: none;
	background: url(../img/boneflower/prev.svg)no-repeat center center;
	background-size: auto 28px;
	z-index: 8040;
}

.fancybox-prev {
	left: -230px
}

.fancybox-next {
	background: url(../img/boneflower/next.svg)no-repeat center center;
	background-size: auto 28px;
	right: -230px
}

.fancybox-close {
	position: absolute;
	top: -30px;
	right: -230px;
	transform: translateY(-100%);
	width: 21px;
	height: 21px;
	background: url(../img/boneflower/close_fb.svg)no-repeat center center;
	background-size: auto 21px;
}

@media screen and (max-width: 1130px) {
	.fancybox-prev {
		left: -50px
	}

	.fancybox-next {
		right: -50px
	}

	.fancybox-close {
		right: -50px;
	}
}

.slick-prev,
.slick-next {
	position: absolute;
	width: 80px;
	height: 100%;
	z-index: 3;
	background: url(../img/boneflower/prev.svg)no-repeat center center rgba(0, 0, 0, .5);
	background-size: auto 28px;
	left: 0px;
	top: 50%;
	transform: translateY(-50%);
}

.slick-next {
	background: url(../img/boneflower/next.svg)no-repeat center center rgba(0, 0, 0, .5);
	background-size: auto 28px;
	left: auto;
	right: 0;
}

.boneflowerSec07 {
	padding: 100px 0 200px;
}

.flowerGallary {
	width: fit-content;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	max-width: 90%;
	margin: auto;
	padding: 200px 0 100px;
	row-gap: 2rem;
}

.flowerGallary li p small {
	margin: 1rem auto;
	display: block;
	text-align: center;
	word-break: break-word;
}

.boneflowerSec09 {
	padding: 100px 0 200px;
	height: 100%;
	background: #000;
	color: #fff;
	position: relative;
	overflow: hidden;
}

.boneflowerSec09 h3 {
	font-size: 2rem;
	letter-spacing: 0.25em;
}

.boneflowerSec09 img {
	position: absolute;
	width: 80%;
	left: -50%;
	object-fit: contain;
}

.boneflowerSec08.bgImg {
	height: 450px;
	background-position: top 20% center
}

.boneflowerSec10 {
	background: #625853;
	color: #fff;
	padding-bottom: 100px;
}

.boneflowerSec10 .flowerGallary {
	grid-template-columns: repeat(2, 1fr);
}
.lumi_sec{
	min-height:100vh;
	position:sticky;
	top:0;
}
.lumi_sec img{
	width:100%;
}
.lumi_sec1 .inner{
	position: absolute;
    top: 60%;
    width: 100%;
    left: 5%;
    right: 5%;
}
.lumi_sec1 .inner h3{
	font-size:2.0rem
}
.lumi_sec2{
	background:#EEEEEE;
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
}
.lumi_sec2 .inner{
	width: 100%;
}
.lumi_sec2 .inner p{
	max-width:480px;
}
.lumi_sec2 .inner .comP02{
	margin-top:6rem;
}
.lumi_sec5{
	background:linear-gradient(180deg, rgb(75 75 75 / 75%), rgb(0 0 0 / 100%));
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
}
.lumi_sec5 .flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.lumi_sec5 .flex .image{
	width:50%;
}
.lumi_sec5 .flex .image ul{
	display: block;
	padding:0;
	margin:0;
}
.lumi_sec5 .flex .text{
	width:50%;
}
.lumi_sec5 .inner .comP02{
	margin-top:6rem;
}


/*synapse*/
.synapseSec01 .tearoomP01 {
	color: inherit;
}

.synapseSec02 {
	padding: 200px 0;
}

.synapseSec02 .inner:nth-child(2) {
	position: relative;
	margin-top: -130px;
}

.synapseSec03 .bgImg {
	/* height: 700px;
	display: block; */
	margin-top: 100px;
	background-position: top center;
	width: 100vw;
	background-size: cover;
	aspect-ratio: 34 / 15;
	height: auto;
}

.synapseSec04 {
	padding: 100px 0 200px;
	background: #EEEEEE
}

.synapse-list .flowerGallary {
	padding: 200px 0;
	grid-template-columns: repeat(2, 1fr);
}

.synapse-list .flowerGallary img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/*Polymer*/
.polymerSec01 {
	background: #000000;
	height: 100vh;
	width: 100%;
	overflow: hidden;
}

.polymerSec01 .polymerMV {
	width: 80%;
	height: 80vh;
	max-width: 800px;
	object-fit: contain;
	position: absolute;
	bottom: 0;
	right: 10%;
	left: 10%;
	display: block;
}
.polymerSec01 .polymerMV img{
	object-fit: contain;
	object-position: bottom;
	height: 80vh;
}


.pin-spacer #section02 {
	position: relative;
	width: 100%;
	height: 100vh;
}

.polymerseSec02 {
	position: relative;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	background-color: #000;
	color: #fff;
}

.polymerseSec02 .cont {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.image-wrapper {
	position: relative;
	width: 40%;
}

.image-wrapper img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	opacity: 0;
	transition: opacity 0.1s ease;
}

.image-wrapper img.active {
	opacity: 1;
	width: 100%;
	position: relative;
}
.text-wrapper {
	position: relative;
	width: 50%;
}

.text-wrapper .text {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity 0.1s ease;
}

.text-wrapper .text.active {
	opacity: 1;
	width: 100%;
	position: relative;
}

.polymerseSec04 {
	min-height: 0 !important;
	aspect-ratio: 3/1;
	width: 100%;
	height: auto;
}

.polymerseSec04 .wp-block-cover__image-background {
	background-size: 120% 100% !important;
}
.polymer-list{
	padding-bottom:100px;
}
.polymer-list .flowerSlist a:hover .img img {
	transform: scale(1.03);
}

.polymerSec02{
	background-color: #000;
	color: #fff;
	min-height: 100vh;
}
.polymerSec02 .inner{
	height: 100%;
    padding: 150px 0;
    display: flex;
    flex-direction: column;
    gap: 80px;
    min-height: 100vh;
    justify-content: space-between;
    align-items: center;
}
.polymerSec02 p{
	width: 90%;
	max-width: 470px;
	margin-left: auto;
}
.polymerTab{
	margin:auto;
	width:90%;
	max-width:450px;
}

.polymerTab .slick-slide{
	padding:0 5%;
}
.polymerTab .slick-slide:not(.slick-current){
	filter: opacity(0.3);
}
.polymerTab .slick-slide p{
	text-align: center;
	margin-top:2rem;
	margin-bottom: -2rem;
}
.polymerTab .slick-slide:not(.slick-current) p{
	opacity: 0;
}
.polymerTab .slick-list{
	overflow: visible;
}
.polymerTab .slick-track{
	left:-50%;
}
.polymerTab .slick-prev, 
.polymerTab .slick-next{
	background-color:transparent;
	margin-top: -2rem;
	width: 28px;
 	padding: 0;
}
.polymerTab .slick-next{
	left:47%;
	transform: translateY(-50%) rotate(180deg);
}
.polymerTab .slick-prev{
	left: -55%;
	transform: translateY(-50%) rotate(180deg);
}
.polymerTab .slick-arrow.slick-disabled{
	opacity: 0!important;
}

/*newsList*/
.newsListWrap,
.newsDtWrap,
.newsAllWrap {
	padding: 94px 0 150px
}

.newsListUl li+li {
	padding-top: 100px;
	margin-top: 150px;
	border-top: 1px solid #707070;
}

.newsListUl li a {
	display: block;
}

.newsDate,
.newsCateg {
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	display: inline-block;
	margin-right: 22px;
}

.newsCateg,
.newsCateg a {
	color: #CCCCCC;
}

.newsTitle {
	margin: 10px 0 68px;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
}

.newsListTxt {
	font-size: 1.2rem;
	line-height: 35px;
	letter-spacing: 0.05em;
}

.newsListImg {
	margin-bottom: 40px
}

.newsListTxt+.newsListTxt {
	margin-top: 35px
}

.wp-pagenavi {
	padding-top: 100px;
	text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	font-family: 'PT Sans', sans-serif;
	color: #888888;
	margin: 0 5px;
	min-width: 12px;
}

/*.wp-pagenavi a:hover,*/
.wp-pagenavi span.current {
	border-bottom: 1px solid #CCCCCC
}

.newsListWrap .wp-pagenavi,
.blogListWrap .wp-pagenavi {
	margin-top: 140px;
	border-top: 1px solid #707070;
}

.newsListWrap .newsListTxt,
.blogListWrap .newsListTxt {
	/* 	overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical; */
}

/*newsAll*/
.newsAllUl li+li {
	margin-top: 50px
}

.newsAllUl a {
	display: block;
}

.newsAllDl {
	display: flex;
	justify-content: space-between;
}

.newsAllDl dt {
	width: 350px;
	/*border: 1px solid #CCCCCC;*/
}

.newsAllDl dd {
	width: calc(100% - 350px - 30px);
	padding-top: 50px
}

.newsAllDl .newsDate,
.newsAllDl .newsCateg {
	font-size: 1rem;
	letter-spacing: 0.1em;
	margin-right: 28px;
}

.newsAllDl .newsTitle {
	margin: 8px 0 0;
	font-size: 1.2rem;
}

/*blog*/
.blogWrap {
	padding: 94px 0 150px;
}

.blogInner {
	max-width: 1106px;
	display: flex;
	justify-content: space-between;
}

.blogWrap #main {
	width: 664px;
}

.blogWrap #side {
	width: 326px;
	position: relative;
}

.blogWrap #side:before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: -2;
	width: 1000vw;
	height: 1000vh;
	background: #F8F7F5
}

.blogWrap #side a:hover {
	opacity: .7
}

.sideSns {
	position: relative;
	background: #E3E8E8;
	display: flex;
	margin-bottom: 10px
}

.sideSns:before,
.sideUl:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: -2;
	width: 1000vw;
	height: 100%;
	background: #E3E8E8
}

.sideSns li {
	display: inline-flex;
	margin-right: 2px;
}

.sideSns li a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100px;
	width: 100px;
	background: #D4D9D9
}

.sideItem {
	position: relative;
	margin-bottom: 10px;
	background: #E3E8E8;
	padding: 23px 0 35px 65px;
}

.sideHd {
	position: relative;
	font-size: 1.7rem;
	line-height: 1.3;
	letter-spacing: 0.05em;
	color: #758588;
	margin-bottom: 30px;
}

.sideHd:before {
	content: '';
	position: absolute;
	left: -65px;
	top: 50%;
	transform: translateY(-50%);
	width: 55px;
	height: 2px;
	background: #758588;
}

.sideUl li+li {
	margin-top: 14px
}

.sideUl li a {
	display: inline-block;
	padding-left: 25px;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	color: #000;
	background: url(../img/blog/arrow.svg)no-repeat left center;
	background-size: 13px auto
}

/*collaboration*/
.collaboWrap {
	position: relative;
}

.collaboListUl {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 7rem 5rem;
}

.collaboListHd .newsTitle {
	margin: 1rem 0;
}

.collaboListHd .newsDate {
	margin-bottom: 2rem;
}

.collaboListUl li img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

#collaboration .blogInner {
	max-width: 660px;
	margin: auto;
	width: 100%;
}

.collaboCont {
	margin: 4rem auto;
}

/* collaborator
--------------------------------------------------------------------*/
.collaborator {
	letter-spacing: 1.5px;
}

.openbtn {
	position: absolute;
	right: 0;
	top: 30%;
	cursor: pointer;
	color: #888888;
	z-index: 10;
}

.openbtn span.arrow {
	position: relative;
	content: "";
	width: 65px;
	height: 2px;
	background: #888888;
	display: inline-block;
	top: -1px;
	margin-left: 1.5rem;
}

.openbtn.collaborator span.arrow::before {
	position: absolute;
	content: "";
	width: 15px;
	height: 2px;
	transform: rotate(-45deg);
	background: #888888;
	left: -2px;
	top: -5px;
}

.drawer_bg {
	display: block;
	width: 100%;
	height: 100vh;
	position: fixed;
	inset: 0px;
	background-color: #333333bd;
	-webkit-backdrop-filter: blur(32px);
	backdrop-filter: blur(50px);
	z-index: -1;
	cursor: pointer;
	opacity: 0;
	transition: all 0.4s;
}

.drawer_bg.active {
	opacity: 1;
	z-index: 10;
}

#g-nav {
	position: fixed;
	z-index: 999;
	top: 0;
	right: -120%;
	width: 100%;
	max-width: 480px;
	height: 100vh;
	background: #000000;
	transition: all 0.8s;
	letter-spacing: 1px;
	overflow-x: hidden;
}

#g-nav.panelactive {
	right: 0;
}

#g-nav.panelactive #g-nav-list {
	position: fixed;
	z-index: 999;
	width: 100%;
	max-width: 480px;
	height: 100%;
	max-height: 70vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

#g-nav ul {
	width: 80%;
	max-width: 370px;
	position: absolute;
	z-index: 999;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
}

#g-nav .closebtn {
	position: relative;
	top: 0;
	width: 100%;
	margin: auto;
	color: #888;
	padding-left: 50px;
	border-bottom: 1px solid;
	margin-top: 10%;
	z-index: 1000;
	cursor: pointer;
	height: 20%;
	display: flex;
	align-items: center;
}

#g-nav .closebtn span {
	position: absolute;
	display: inline-block;
	height: 2px;
	background-color: #888888;
	width: 22px;
}

#g-nav .closebtn span:nth-child(1) {
	top: 50%;
	left: 18px;
	transform: translateY(0) rotate(-45deg);
}

#g-nav .closebtn span:nth-child(2) {
	top: 50%;
	left: 18px;
	transform: translateY(0) rotate(45deg);
}

#g-nav .closebtn span.arrow {
	width: 80px;
	margin-left: 1.5rem;
	position: relative;
	bottom: -2%;
}

#g-nav .closebtn span.arrow::after {
	position: absolute;
	content: "";
	width: 15px;
	height: 2px;
	transform: rotate(45deg);
	background: #888888;
	right: -2px;
	top: -5px;
}

#g-nav .collaborator {
	color: #fff;
	margin: 3rem auto;
	width: 80%;
	position: relative;
}

#g-nav .collaborator::before {
	position: absolute;
	content: "";
	background: #ffffff;
	height: 1px;
	width: 60px;
	left: -18%;
	top: 50%;
}

#g-nav ul li a {
	position: relative;
	color: #fff;
	display: block;
	padding: 10px 0;
	padding: 10px 0 10px 20px;
}

#g-nav ul li a::before {
	position: absolute;
	content: ">";
	left: 0;
	top: 0;
	transform: rotateY(55deg);
	font-size: 2.5rem;
	display: inline-block;
	font-weight: bold;
}

/*profile*/
.profileSec01 {
	height: 100vh;
}

.profileSec01 .inner {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.profileSec01 .tearoomP01 {
	padding-top: 0
}

.profileAcBox {
	margin-top: 100px
}

.profileAcUl {
	margin-top: 30px;
}

.profileAcUl li+li {
	margin-top: 40px;
}

.profileAcUl li a {
	font-size: 1rem;
	color: #fff;
	letter-spacing: 0.05em;
	display: inline-block;
}

.profileAcUl li a span {
	display: block;
	font-size: 1.3rem;
	margin-bottom: 10px;
}

.profileSec02 {
	background: rgba(238, 238, 238, .3);
	padding: 200px 0;
	-webkit-backdrop-filter: blur(22px);
	backdrop-filter: blur(22px);
}

.profileItem+.profileItem {
	margin-top: 60px
}

.profileItemHd {
	border-bottom: 1px solid #888888;
	display: flex;
	justify-content: space-between;
	font-size: 1rem;
	letter-spacing: 0.05em;
	margin-bottom: 30px;
}

.profileItemHd .en {
	font-size: 2rem;
	line-height: 1.3;
	letter-spacing: 0.2em;
	font-family: 'PT Sans', sans-serif;
}

.profileDl01 {
	display: flex;
}

.profileDl01+.profileDl01 {
	margin-top: 30px
}

.profileDl01 dt {
	width: 110px;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
}

.profileDl01 dd {
	width: calc(100% - 92px);
	font-size: 1.1rem;
	letter-spacing: 0.05em;
}

.profileDl01 dd .en {
	font-size: 1.3rem;
	margin-bottom: 8px;
	font-family: 'PT Sans', sans-serif;
}

.profileSec03 {
	background: #eee;
	padding: 200px 0
}

.profileSay {
	margin-bottom: 100px
}

.profileSay .en {
	font-size: 2rem;
	letter-spacing: 0.15em;
	margin-bottom: 17px;
}

.profileSay .jp {
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	padding-bottom: 10px;
	border-bottom: 1px solid #888888;
	margin-bottom: 10px;
}

.profileSay .name {
	text-align: right;
	color: #888888;
	font-size: 1rem;
	letter-spacing: 0.05em;
}

.profileSay .name span {
	margin-right: 10px;
	font-size: 1.3rem;
}

.profileDl02 {
	display: flex;
	justify-content: space-between;
}

.profileDl02 dt {
	width: 470px
}

.profileDl02 dd {
	width: 405px
}

.comP01+.comP01 {
	margin-top: 33px
}

.comP02+.comP02 {
	margin-top: 35px
}

#section03 .profileSec03 .spTxt {
	margin-top: 33px
}

.profileSec04 {
	background: #888;
	color: #fff;
	padding: 200px 0
}

.profileSec04 .profileSay .name {
	color: #fff;
}

.profileSec04 .profileSay .jp {
	border-color: #fff;
}

.wp-block-image {
	margin: 0 !important;
}

.wp-block-image img {
	height: auto;
	width: 100%;
}

.profileBg {
	width: 100%;
	height: 100vh;
	position: fixed;
	z-index: 1;
	background-position: top left 5%;
}

.profileWrap {
	position: relative;
	z-index: 2;
}

.boneflowerSec01,
.icewallSec01,
.synapseSec01 {
	height: 100vh;
	overflow-y: hidden;
}

.newsListUl img {
	margin: 20px 0;
}

#tearoompage .icewallHd {
	margin-bottom: 80px !important;
}

#tearoompage .comP01 {
	margin-bottom: 100px;
}

#tearoompage .tearoomSec05 {
	padding-top: 100px !important;
	background: #EEEEEE;
}

#tearoompage .synapseSec02 .inner:nth-child(2) {
	margin-top: -165px;
}

#tearoompage .tearoomItem {
	height: calc(var(--vh, 1vh) * 100);
	min-height: calc(var(--vh, 1vh) * 100);
}

/* .scroll-container{
	width: 100vw;
	height: 100vh;
	overflow-y: scroll;
	scroll-snap-type: y mandatory;
}
.scroll-snap{
	scroll-snap-align: start; 
	width:100%;
	height:100vh;
	flex-shrink: 0;
} */
.normal-container {}

.mw_wp_form .horizontal-item+.horizontal-item {
	margin-left: 0 !important;
}