@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
body, table, input, textarea, select, option {
	font-family: 'ArnoPro-Regular',YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
#main .fvBox .title {
	opacity: 0;
	filter: blur(3rem);
	transition: opacity 2s,filter 2s;
}
body.loadover #main .fvBox .title {
	opacity: 1;
	filter: blur(0);
	transition-delay: .3s;
}
.headLine01 .en {
	position: relative;
	top: auto;
	left: auto;
	font-size: 12rem;
	letter-spacing: -0.05em;
	line-height: 1;
	transform: translate(-0.5rem,-2rem);
	display: block;
	white-space:nowrap;
}
.headLine01 .rotate {
	display: block;
	width: 1rem;
	height: 1rem;
	transform: rotate(90deg);
	position: absolute;
	top: 0;
	left: 8.1rem;
	letter-spacing: -0.05em;
	font-size: 11rem;
}

#main .fvBox .logo .txt {
	position: absolute;
	top: calc(100% + 3.5rem);
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	white-space: nowrap;
	letter-spacing: 0.05em;
	font-size: 1.6rem;
}
#main .fvBox .title {
	font-weight: 400;
	font-size: 4.4rem;
	text-align: center;
	white-space:nowrap;
	font-family: "Old Standard TT", serif;
}
#main .fvBox .title span {
	display: inline-block;
}
#main .fvBox .title .txt {
	display: block;
	line-height: 1;
}
#main .fvBox .title .txt + .txt {
	margin-top: 0.6rem;
}
#main .fvBox .title .it {
	margin-bottom: 0.6rem;
	font-style: italic;
	display: block;
}
#main .fvBox .title .big {
	font-size: 6rem;
}
@media all and (min-width: 1000px) {
	#main .fvBox .logo {
		position: relative;
		margin-top: -4.7rem;
	}
	#main .fvBox .title {
		padding: 0;
		margin-top: -4.5rem;
	}
}
@media all and (max-width: 999px) {
	#main .fvBox .logo {
		bottom: auto;
		left: 50%;
		transform: translateX(-50%);
		width: 11rem;
		top: 7rem;
	}
	#main .fvBox .logo .txt {
		top: calc(100% + 1.7rem);
		letter-spacing: 0.08em;
		font-size: 1rem;
	}
	#main .fvBox .enTxt {
		margin-top: 0;
		font-size: 1.3rem;
		line-height: 1.35;
		top: auto;
		transform: translate(-50%,0);
		left: 50%;
		letter-spacing: 0.01em;
		bottom: 9rem;
		text-align: center;
	}
	#main .fvBox .title img {
		width: 20rem;
	}
	#main .fvBox .title {
		padding: 0;
		font-size: 3.3rem;
	}
	#main .fvBox .title .big {
		font-size: 4.1rem;
	}
	.headLine01 img {
		width: 23.4rem;
	}
	#main .fvBox .title .it {
		margin-bottom: 0.5rem;
	}
	.headLine01 .en {
		font-size: 7rem;
		letter-spacing: -0.03em;
		transform: translate(-0.5rem,-1rem);
	}
	#main .fvBox .title .txt + .txt {
		margin-top: 0rem;
	}
	.headLine01 .rotate {
		top: 0;
		left: 4.9rem;
		letter-spacing: -0.02em;
		font-size: 7rem;
	}
}


.rl {
	-webkit-writing-mode: horizontal-tb;
	writing-mode: horizontal-tb;
	-moz-writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
	-o-writing-mode: horizontal-tb;
	white-space: inherit;
}
.comTextBox {
	display: block;
	font-size: 1.6rem;
	word-break: keep-all;
}
.comTextBox .left p {
	letter-spacing: 0.02em;
	line-height: 1.52;
	font-family: 'ArnoPro-Light';
}
.comTextBox .left p + p {
	margin-top: 2.2rem;
}
.comTextBox .left {
	display: block;
}
.comTextBox.cols .headLine02 {
	margin-bottom: 8rem;
	line-height: 1.57;
	letter-spacing: 0;
}
.comTextBox.cols .left p {
	margin-bottom: 0;
	line-height: 1.52;
	letter-spacing: 0.02em;
}
@media all and (max-width: 999px) {
	.comTextBox {
		font-size: 1.3rem;
	}
	.comTextBox .left p + p {
		margin-top: 1.8rem;
	}
	.comTextBox.cols .left p {
		line-height: 1.4;
	}
}


/* headLine02  */
.headLine02  {
	display: block;
	font-family: 'Cormorant-Regular';
	letter-spacing: 0;
	font-size: 3.5rem;
}
@media all and (max-width: 999px) {
	.headLine02 {
		font-size: 2.4rem;
	}
}

/* comBtn */
.comBtn a {
	padding-bottom: 0.4rem;
	letter-spacing: 0.05em;
}



/* originBox */
#main .originBox .comSec .left p {
	letter-spacing: 0.02em;
	line-height: 1.52;
	font-family: 'ArnoPro-Light';
}
#main .originBox .comSec .left p + p {
	margin-top: 2.4rem;
}
#main .originBox .comSec {
	font-size: 1.5rem;
}
@media all and (min-width: 1000px) {
	#main .originBox .content {
		--left: 2rem;
		width: calc(50% - 18.6rem + var(--left));
	}
	#main .showBox .originBox .animateCenter .headLine02 {
		position: absolute;
		top: 50%;
		right: calc(100% + 36rem - var(--left));
		transform: translateY(-50%);
		font-family: 'Cormorant-Regular';
		letter-spacing: 0;
		line-height: 1.8;
		font-size: 3.2rem;
	}
	#main .showBox .originBox .animateCenter .headLine02 .rl {
		white-space: nowrap;
	}
	#main .showBox .originBox .comTextBox {
		font-size: 1.5rem;
	}
}
@media all and (max-width: 999px) {
	#main .showBox .originBox .animateCenter .headLine02 {
		letter-spacing: 0;
		margin-bottom: 4.4rem;
	}
	#main .originBox .comTextBox {
		padding-right: 0;
		margin: 0 4.5rem 0 2.5rem;
	}
	#main .originBox .comSec .left p {
		line-height: 1.38;
	}
	#main .originBox .comSec .left p + p {
		margin-top: 1.7rem;
	}
	
}

/* inheritanceBox */
#main .inheritanceBox .headLine02 {
	display: block;
}
#main .inheritanceBox .comTextBox {
	margin: 0 auto 35rem;
  	max-width: 81.2rem;
	font-size: 1.6rem;
}
#main .inheritanceBox .flexBox {
	margin-bottom: 15rem;
}
#main .inheritanceBox .comTextBox .left p {
	letter-spacing: 0.05em;
  	line-height: 1.45;
}
#main .inheritanceBox .headLine02 {
	margin-bottom: 8rem;
}
#main .inheritanceBox .headLine01 {
	bottom: -0.3rem;
}
#main .inheritanceBox .headLine01 .en {
	transform: translate(0.5rem,2rem);
}
@media all and (max-width: 999px) {
	#main .inheritanceBox .comTextBox {
		margin: 0 3.6rem 16rem;
		max-width: inherit;
		font-size: 1.3rem;
	}
	#main .inheritanceBox .headLine02 {
		margin-bottom: 5rem;
	}
	#main .inheritanceBox .comTextBox .left p {
		letter-spacing: 0.02em;
		line-height: 1.4;
	}
	#main .inheritanceBox .headLine01 img {
		width: 31.5rem;
	}
	#main .inheritanceBox .headLine01 {
		bottom: 0;
	}
	#main .inheritanceBox .flexBox {
		margin-bottom: 15rem;
	}
	#main .inheritanceBox .headLine01 .en {
		transform: translate(0.2rem,1.2rem);
	}	
}

/* evolutionBox */
#main .evolutionBox .comTextBox.cols .headLine02 {
	margin-bottom: 9rem;
}
#main .evolutionBox .comTextBox .text {
	margin-top: 4rem;
}
#main .evolutionBox .headLine01 .en {
	transform: translate(0,0);
	margin-left: 0;
}
@media all and (max-width: 999px) {
	#main .evolutionBox .headLine01 img {
		width: 4.9rem;
	}
	#main .evolutionBox .comTextBox {
		margin: 0 0 0 4rem;
	}
	#main .evolutionBox .comTextBox.cols .headLine02 {
		margin: 0 -0.5rem 4.4rem 0;
		font-size: 2.2rem;
	}
	#main .evolutionBox .comTextBox .text {
		margin-top: 3.6rem;
	}
	#main .evolutionBox .rightBox {
		margin: 10.2rem 6rem 0 -2.5rem;
	}
	#main .evolutionBox .headLine01 {
		left: -0.1rem;
	}
}

/* presenceBox */
#main .presenceBox .enTitle .rl {
	-webkit-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}
#main .presenceBox .comTextBox .left p {
	line-height: 1.52;
	text-align: center;
	letter-spacing: 0.025em;
}
#main .presenceBox .subTitle {
	letter-spacing: 0;
	font-size: 3.8rem;
	line-height: 1.44;
	font-weight: normal;
	font-family: 'Cormorant-Medium';
	margin-bottom: 15rem;
	margin-top: 10rem;
}
#main .presenceBox .comTextBox {
	margin-bottom: 18rem;
}
#main .presenceBox .imgBox {
	top: calc(120rem + var(--img_top,0));
}
#main .presenceBox .imgBox .imgUl li {
	transform: translateY(calc(var(--para) * -3));
}
#main .presenceBox .content {
	padding: calc(100rem + var(--img_top,0)) 0 50rem;
}
#main .presenceBox .headLine01 {
	left: -0.1rem;
}
#main .presenceBox .headLine01 .en {
	left: 0;
	/*transform: translate(-0.5rem,-1.6rem);*/
	transform: translate(0,0);
	font-size: 11rem;
}
@media all and (max-width: 999px) {
	#main .presenceBox .headLine01 img {
		width: 30.8rem;
	}
	#main .presenceBox .subTitle {
		font-size: 2.4rem;
		margin-bottom: 9.7rem;
		text-align: center;
		line-height: 1.6;
	}
	#main .presenceBox .comTextBox .left p {
		line-height: 1.38;
		text-align: left;
		letter-spacing: 0.02em;
	}
	#main .presenceBox .imgBox {
		margin: 10.2rem 0 8rem;
	}
	#main .presenceBox .imgBox .imgUl li {
		transform: none;
	}
	#main .presenceBox .comTextBox {
		margin: 0 3.2rem 4.4rem;
	}
	#main .presenceBox .headLine01 {
		top: -0.1rem;
		left: -0.2rem;
	}
	#main .presenceBox .headLine01 .en {
		left: 0;
		transform: translate(0,-1.3rem);
		font-size: 7rem;
	}
	#main .presenceBox .content {
		padding: calc(100rem + var(--img_top,0)) 0 15rem;
	}
}

/* reoriginBox */
#main .reoriginBox .comTextBox {
	padding-left: 4.5rem;
	max-width: 58rem;
}
#main .reoriginBox .headLine02 small {
	margin-top: 1.8rem;
	font-size: 2.2rem;
	letter-spacing: 0;
	font-family: 'ArnoPro-Regular';
}
#main .reoriginBox .headLine02 {
	margin-bottom: 10rem;
}
#main .reoriginBox .headLine01 .en {
	font-size: 11rem;
}
#main .reoriginBox .topBox.inView .comSec .headLine01 > * {
	transform: translate(0,0);
}
@media all and (max-width: 999px) {
	#main .reoriginBox .headLine01 img {
		width: 31.6rem;
	}
	#main .reoriginBox .comTextBox {
		padding-left: 3rem;
		padding-right: 4.5rem;
		max-width: inherit;
	}
	#main .reoriginBox .headLine02 small {
		margin-top: 2.3rem;
		font-size: 1.8rem;
		letter-spacing: 0;
	}
	#main .reoriginBox .headLine02 {
		margin-bottom: 6.5rem;
	}
	#main .reoriginBox .headLine01 .en {
		font-size: 7rem;
	}
}
#main .accessBox {
	width: 38rem;
}
#main .accessBox .comBtn {
	margin-left: 0;
	margin-bottom: 0.5rem;
}
#main .accessBox .comBtn a {
	padding: 0.1rem 0 0.5rem;
}
#main .accessBox p {
	letter-spacing: 0.05em;
}
#main .accessBox p.honten {
	line-height: 1.8;
	letter-spacing: 0.05em;
}
@media all and (max-width: 999px) {
	#main .accessBox {
		width: 28rem;
	}
}

/* conceptBox */
#main .conceptBox .comTextBox {
	position: relative;
	margin: 0 auto;
	max-width: 54rem;
}
#main .conceptBox .comTextBox .left p {
	letter-spacing: 0.05em;
	line-height: 1.52;
}
#main .conceptBox .comTextBox .headLine02 {
	margin: 0 -2rem 8rem 0;
}
@media all and (max-width: 999px) {
	#main .conceptBox .comTextBox .headLine02 {
		margin: 0 -2rem 4.3rem 0;
		letter-spacing: 0;
		text-align: left;
	}
	#main .conceptBox .comTextBox {
		margin: 0;
		max-width: inherit;
	}
	#main .conceptBox .comTextBox .left {
		padding-right: 2rem;
	}
	#main .conceptBox .comTextBox .left p {
		letter-spacing: 0.02em;
		line-height: 1.44;
	}
	#main .conceptBox .photoBox {
		margin-bottom: 8.5rem;
	}
	#main .conceptBox .content {
		margin: 0 2.7rem 10rem;
	}
}

/* comBox */
.comBox {
	padding: 24.2rem 0 30.9rem;
}
.comBox .naviUl .inner img {
	width: 1.9rem;
}
.comBox .naviUl .num {
	left: 50%;
	font-family: 'Cormorant-Regular';
	font-size: 2.5rem;
	transform: translateX(-50%);
	margin-left: -0.2rem;
	letter-spacing: -0.05em;
}
.comBox .naviUl {
	gap: 19rem;
}
.comBox .naviUl a {
	padding-top: 8rem;
}
.comBox .pageTxt img {
	width: 26.1rem;
}
.comBox .logo {
	transform: translateX(-4rem);
}
.comBox .btn a {
	padding: 0 0 0.6rem;
	font-size: 1.3rem;
	letter-spacing: 0.07em;
}
.comBox .naviUl .inner img {
	width: 1.9rem;
}
.comBox .pageTxt {
	margin-bottom: 0.2rem;
	font-size: 1.7rem;
	font-weight: 400;
	font-family: "Old Standard TT", serif;
	line-height: 1;
	letter-spacing: 0;
}
.comBox .pageTxt span {
	display: inline-block;
	margin: 0;
}
.comBox .pageTxt .txt {
	margin-right: 0.2rem;
}
.comBox .pageTxt .big {
	font-size: 2.4rem;
	letter-spacing: -0.01em;
	margin-left: -0.2rem;
}
.comBox .pageTxt .txt .big {
	margin: 0 0.2rem;
}
.comBox .pageTxt .it {
	font-style: italic;
}
.comBox .btn {
	margin-bottom: 1rem;
}
.comBox .naviUl .inner .en {
	margin-left: 0.3rem;
	font-size: 2.8rem;
	letter-spacing: 0.06em;
}
.comBox .naviUl .inner {
	min-height: 18rem;
}
@media all and (max-width: 999px) {
	.comBox .naviUl .num {
		font-size: 2rem;
	}
	.comBox {
		padding: 16.8rem 0 4.1rem;
	}
	.comBox .naviUl {
		gap: 5.4rem;
		padding-right: 0;
	}
	.comBox .naviUl a {
		padding-top: 5.6rem;
	}
	.comBox .naviUl .inner img {
		width: 1.6rem;
	}
	.comBox .btn a {
		font-size: 1.1rem;
	}
	.comBox .btn {
		margin-bottom: 0;
	}
	.comBox .logo {
		transform: translateX(0);
	}
	.comBox .pageTxt {
		margin-bottom: 12rem;
		font-size: 1.5rem;
		letter-spacing: 0;
	}
	.comBox .btmBox {
		margin-top: 8rem;
	}
	.comBox .pageTxt img {
		width: 21.8rem;
	}
	.comBox .pageTxt .big {
		font-size: 2.2rem;
	}
	.comBox .logo {
		margin-bottom: 3.8rem;
	}
	.comBox .naviUl .inner .en {
		font-size: 2.4rem;
		letter-spacing: 0.02em;
	}
	.comBox .naviUl {
		gap: 7rem;
	}
}
@media all and (min-width: 1000px) {
	#main .scrollBox .stickyBox {
		--textH: 25rem !important;
	}
}


/* showBox */
#main .showBox .dotsUl li.on .ttl {
	max-height: 8rem;
}
#main .showBox .dotsUl .en {
	display: block;
	width: 1rem;
	height: 1rem;
	transform: rotate(90deg);
	transform-origin: 0 0;
	white-space: nowrap;
	margin: -0.4rem 0 0 1.5rem;
	font-family: 'Cormorant-Regular';
	letter-spacing: 0.08em;
	height: 4rem;
	font-size: 1.2rem;
}
#main .showBox .dotsUl li {
	margin-bottom: 0.6rem;
	font-weight: 400;
}
#main .showBox .dotsUl .txt {
	font-family: 'Cormorant-Regular';
	font-size: 1.3rem;
	text-align: center;
	letter-spacing: -0.05em;
}
#main .showBox .dotsUl li:nth-child(2) .en {
	height: 5.6rem;
}
#main .showBox .dotsUl li:nth-child(3) .en {
	height: 6.2rem;
}
#main .showBox .dotsUl li:nth-child(4) .en {
	height: 5.2rem;
}
#main .showBox .dotsUl li:nth-child(5) .en {
	height: 5.6rem;
}
@media all and (max-width: 999px) {
	#main .showBox .dotsUl .en {
		font-size: 1.1rem;
	}
}



/* brands */
#main .brands .brandsList .txtBox .txt {
	font-size: 1.6rem;
	line-height: 1.43;
	letter-spacing: 0.025em;
	font-family: 'ArnoPro-Light';
}
#main .brands .brandsList .txtBox .txt + .txt {
	margin-top: 2.3rem;
}
@media all and (max-width: 999px) {
	#main .brands .brandsList li.item04 .outLogo img {
		width: calc(104/375 * 100vw);
	}
	#main .brands .brandsList .txtBox .txt {
		font-size: 1.4rem;
		line-height: 1.38;
		letter-spacing: 0.02em;
	}
	#main .brands .brandsList .txtBox .txt + .txt {
		margin-top: 2.2rem;
	}
}

/* popBox */
.popBox .flexInner .textBox {
	font-size: 1.5rem;
}
.popBox .comBtn a {
	font-size: 1.4rem;
	letter-spacing: 0.02em;
}
.popBox .comBtn img {
	margin-top: -0.2rem;
}
@media all and (max-width: 999px) {
	.popBox .flexInner .textBox {
		font-size: 1.3rem;
	}
	.popBox .comBtn a {
		font-size: 1.2rem;
		letter-spacing: 0.02em;
	}
}
@media all and (min-width: 701px) and (max-width: 999px) and (max-height: 1200px) {
	#main .fvBox .logo {
		width: 6rem;
	}
	#main .fvBox .enTxt {
		font-size: 1.1rem;
	}
	#main .fvBox .logo .txt {
		top: calc(100% + 1.2rem);
		letter-spacing: 0.08em;
		font-size: 0.7rem;
	}
}
@media all and (min-width: 500px) and (max-width: 999px) and (max-height: 1100px) {
	#main .fvBox .title .big {
		font-size: 3.1rem;
	}
	#main .fvBox .title {
		font-size: 2.8rem;
	}
	#main .fvBox .logo {
		top: 4rem;
	}
	#main .fvBox .enTxt {
		bottom: 5rem;
	}
	.headLine02 {
		font-size: 2.1rem;
	}
	.comTextBox {
		font-size: 1.1rem;
	}
	#main .showBox .originBox .animateCenter .headLine02 {
		margin-bottom: 2.4rem;
	}
	#main .reoriginBox .headLine01 .en {
		font-size: 6.3rem;
	}
	#main .originBox {
		min-height: 150vh;
	}
}


#main .rowBox .comTextBox .headLine02 {
	letter-spacing: 0.05em;
	margin-bottom: 4rem;
}
#main .rowBox .comTextBox p {
	line-height: 2;
	letter-spacing: 0.01em;
}
#main .rowBox .subRow.box07 .comTextBox p {
	letter-spacing: 0.05em;
	line-height: 1.8;
}
#main .rowBox .comBtn {
	margin: 0.5rem 0 1rem;
}
#main .rowBox .comBtn {
	 margin-left: 0;
}