@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
/* mainVisual */
#main .mainVisual {
	position: relative;
}
#main .mainVisual::after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 30.5rem;
	height: 10.2rem;
	content: "";
	background: url(../img/index/main_bg03.png) no-repeat left top / 100%;
}
#main .mainVisual .imgtext01 {
	position: absolute;
	top: 2.1rem;
	left: 0.2rem;
	z-index: 2;
	width: 41.9rem;
}
#main .mainVisual .imgtext02 {
	position: absolute;
	left: calc(50% - 42.7rem);
	z-index: 2;
	bottom: 6.3rem;
	max-width: 83.2rem;
}
#main .mainVisual .title {
	position: absolute;
	top: 6.7rem;
	right: 9.5rem;
	z-index: 1;
	color: #fff;
	font-size: 5.25rem;
	font-weight: 400;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	transform: rotate(10deg);
	gap: 1.4rem;
}
#main .mainVisual .title > span {
	position: relative;
	padding: 1.2rem 0.2rem 2rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	background-color: rgba(0, 0, 0, 0.4);
	border: 1px solid #fff;
	line-height: 1;
	clip-path: polygon(-50% -50%,150% -50%,150% -50%,-50% -50%);
	transition: all ease 1.5s;
}
#main .mainVisual .title.on > span {
	clip-path: polygon(-50% -50%,150% -50%,150% 150%,-50% 150%);
}
#main .mainVisual .title > span:nth-child(1) {
	margin-top: 16rem;
	transition-delay: 0.6s;
}
#main .mainVisual .title > span:nth-child(2) {
	margin-top: 0.5rem;
	transition-delay: 0.3s;
}
#main .mainVisual .title .red {
	position: absolute;
	top: 12rem;
	left: calc(50% - 4.5rem);
	z-index: 1;
	color: #D30010;
}
#main .mainVisual .title.on .red {
	animation: op_yure 0.3s 0.85s cubic-bezier(0.5, 0, 0.75, 0) forwards;
}
@keyframes op_yure {
  0% {
    transform: translate(0%, 0%);
  }
  50% {
    transform: translate(-8%, -8%) scale(1);
  }
  54% {
    transform: translate(8%, 8%) scale(1);
  }
  58% {
    transform: translate(-8%, -8%) scale(1);
  }
  62% {
    transform: translate(8%, 8%) scale(1);
  }
  66% {
    transform: translate(-8%, -8%) scale(1);
  }
  70% {
    transform: translate(8%, 8%) scale(1);
  }
  72% {
    transform: translate(0%, 0%) scale(1);
  }
  100% {
    transform: translate(0%, 0%);
  }
}
#main .mainVisual .title .red .big {
	margin: 0 0 -2rem -1.5rem;
	display: inline-block;
	font-size: 8.1rem;
	transform: rotate(-7deg);
}
#main .mainVisual .title .red .sml {
	margin-left: 1.5rem;
	display: inline-block;
}
#main .mainVisual .title .top {
	margin-top: 11rem;
	display: inline-block;
}
#main .mainVisual .title .else {
	font-size: 4.6rem;
}
#main .mainVisual .sliderBox {
	position: relative;
	line-height: 0;
}
#main .mainVisual .sliderBox .bg {
	position: absolute;
	bottom: -5.1rem;
	z-index: 1;
	width: 62.2rem;
}
#main .mainVisual .sliderBox .bg img {
	width: 100%;
}
#main .mainVisual .sliderBox .bg01 {
	left: -5rem;
}
#main .mainVisual .sliderBox .bg02 {
	right: -5rem;
}
#main .mainVisual .sliderUl li {
	overflow: hidden;
	-webkit-mask-image: url(../img/index/mask.png);
	mask-image: url(../img/index/mask.png);
	-webkit-mask-position: 0 0;
	mask-position: 0 0;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat
}
#main .mainVisual .sliderUl .is-prev li {
	animation: 3s cubic-bezier(.37,0,.63,1) alternate forwards maskHide;
}
#main .mainVisual .sliderUl .slick-active li {
	animation: 3s cubic-bezier(.37,0,.63,1) alternate forwards maskShow;
}
#main .mainVisual .sliderUl:not(.slick-initialized) {
	display: flex;
}
#main .mainVisual .sliderUl:not(.slick-initialized) li {
	flex-shrink: 0;
	width: 100%;
	-webkit-mask-position: 0 100%;
	mask-position: 0 100%
}
@keyframes maskShow {
	0% {
		-webkit-mask-position: 0 100%;
		mask-position: 0 100%
	}

	to {
		-webkit-mask-position: 0 0;
		mask-position: 0 0
	}
}

@keyframes maskHide {
	0% {
		-webkit-mask-position: 0 0;
		mask-position: 0 0
	}

	to {
		-webkit-mask-position: 0 100%;
		mask-position: 0 100%
	}
}
#main .mainVisual .sliderUl img {
	width: 100%;
	object-fit: cover;
	object-position: center top;
	aspect-ratio: 1920/1133;
}
#main .snsUl {
	position: absolute;
	bottom: 5rem;
	right: 4.1rem;
	z-index: 2;
	justify-content: right;
	gap: 1.4rem;
}
#main .snsUl li {
	width: 2.2rem;
}
#main .snsUl a {
	display: block;
}
#main .snsUl a:hover {
	opacity: 0.7;
}
#main .mainVisual .slick-dots {
	position: absolute;
	z-index: 3;
	left: 0;
	bottom: 4rem;
	width: calc(100% - 4.5rem);
	text-align: right;
}
#main .mainVisual .slick-dots li {
	position: relative;
	display: inline-block;
	width: 5.6rem;
	height: 0.2rem;
	margin: 0 0.2rem;
	padding: 0;
	cursor: pointer;
	background-color: #C7000B;
}
#main .mainVisual .slick-dots li button {
	display: none;
}
#main .mainVisual .slick-dots li.slick-active {
	background-color: #D4B572;
}
@media all and (min-width: 981px) and (max-width: 1360px) {
	#main .mainVisual .title {
		top: 4.7rem;
		right: 5.5rem;
	}
	#main .mainVisual .imgtext02 {
		left: calc(50% - 35.1rem);
		max-width: 70.2rem;
	}
	
}
@media all and (max-width: 980px) {
	#main .mainVisual::after {
		width: 25rem;
	}
	#main .mainVisual .imgtext01 {
		top: 54.7%;
		left: 0;
		width: 25rem;
	}
	#main .mainVisual .imgtext02 {
		left: calc(50% - 18rem);
		bottom: 1.5rem;
		max-width: 36rem;
	}
	#main .mainVisual .title {
		z-index: 3;
		top: 29%;
		right: 3rem;
		font-size: 2.95rem;
		gap: 0.7rem;
	}
	#main .mainVisual .title > span {
		padding: 0.6rem 1px 1rem;
	}
	#main .mainVisual .title > span:nth-child(1) {
		margin-top: 9.2rem;
	}
	#main .mainVisual .title .red {
		top: 6.7rem;
		left: calc(50% - 1.5rem);
	}
	#main .mainVisual .title .red .big {
		margin: 0 0 -0.9rem -1.5rem;
		font-size: 4.3rem;
		transform: translateX(-0.5rem) rotate(-7deg);
	}
	#main .mainVisual .title .red .sml {
		margin: 0;
	}
	#main .mainVisual .title .top {
		margin-top: 6.2rem;
	}
	#main .mainVisual .title .else {
		font-size: 2.7rem;
	}
	#main .mainVisual .sliderBox .bg {
		bottom: -31.5vw;
		width: 100%;
	}
	#main .mainVisual .sliderBox .bg img {
		width: 100%;
	}
	#main .mainVisual .sliderBox .bg01 {
		left: 0;
	}
	#main .mainVisual .sliderUl img {
		height: 100dvh;
		aspect-ratio: normal;
	}
}
/* introduction */
#main .introduction {
	padding: 1px 0 5rem;
	position: relative;
	background: #fff url(../img/index/introduction_bg03.png) repeat-y left top / 100% auto;
}
#main .introduction .comBanner {
	margin: -3rem auto 4.2rem;
}
#main .introduction .bg {
	position: absolute;
	top: 6.5rem;
	width: 50rem;
}
#main .introduction .bg01 {
	left: 0;
}
#main .introduction .bg02 {
	right: 0;
}
#main .introduction .content02 {
	position: relative;
	z-index: 3;
}
#main .introduction .photoBox {
	position: absolute;
	right: -21.1rem;
	top: 6.4rem;
	width: 55.5rem;
	height: 88.4rem;
	z-index: 3;
}
#main .introduction .textBox {
	margin: 0 6rem;
}
#main .introduction .textBox .text {
	margin-bottom: 3.3rem;
	line-height: 1.83;
}
@media all and (max-width: 980px) {
	#main .introduction {
		padding-bottom: 5.2rem;
		background-image: url(../img/index/introduction_bg03_sp.png);
	}
	#main .introduction .comBanner {
		margin: -0.3rem auto 2.5rem;
	}
	#main .introduction .bg {
		top: 19rem;
		width: 32rem;
	}
	#main .introduction .bg01 {
		left: -17.5rem;
	}
	#main .introduction .bg02 {
		top: 42.5rem;
		width: 34.8rem;
		right: -10rem;
	}
	#main .introduction .photoBox {
		margin: 0 -4.75rem 2rem;
		position: relative;
		top: auto;
		right: auto;
		width: auto;
		height: auto;
	}
	#main .introduction .photoBox img {
		margin: 0 auto;
		display: block;
		width: 46.6rem;
	}
	#main .introduction .textBox {
		margin: 0;
	}
	#main .introduction .textBox .text {
		padding: 0 0.5rem;
		text-align: center;
	}
}
/* about */
#main .about {
	padding: 7rem 0 6.7rem;
	position: relative;
}
#main .about .bgBox {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
	top: 0;
	left: 0;
}
#main .about .bgFix {
	height: 100dvh;
	position: sticky;
    top: 0;
}
#main .about .bg {
	width: 44rem;
	position: absolute;
    left: 0;
    top: 0;
	z-index: 2;
}
#main .about .bg02 {
	width: 34rem;
	top: auto;
	left: auto;
	bottom: 0;
	right: 0;
}
#main .about .infoBox .text {
	margin-bottom: 3.2rem;
	text-align: center;
	color: #fff;
	line-height: 1.83;
}
#main .about .infoBox .text :last-of-type {
	margin-bottom: 0;
}
#main .about .innerBox {
	margin: 8.7rem auto 8.5rem;
	max-width: 100rem;
	padding: 1px 3.7rem 2.8rem;
	position: relative;
	background: url(../img/common/line_bg01.png) no-repeat left top / 100% 100%;
}
#main .about .innerBox .title {
	max-width: 28rem;
	margin: -1rem auto 1.3rem;
	font-weight: 400;
	font-size: 1.5rem;
	color: #D4B572;
	position: relative;
	width: fit-content;
	text-align: center;
}
#main .about .innerBox .text {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: -0.06em;
}
#main .about .content {
	max-width: 122rem;
	position: relative;
	z-index: 2;
}
#main .about .imgBox {
	margin-bottom: 6.7rem;
	gap: 6.9rem;
	align-items: flex-start;
}
#main .about .imgBox:last-child {
	margin-bottom: 11.3rem;
}
#main .about .imgBox .photoBox {
	position: relative;
	width: 69rem;
}
#main .about .imgBox .photoBox::after {
	position: absolute;
	top: -2rem;
	left: -1.9rem;
	bottom: -1.8rem;	
	right: -1.9rem;
	z-index: 1;
	content: "";
	background: url(../img/index/slider_bg01.png) no-repeat left top / 100% 100%;
	pointer-events: none;
}
#main .about .imgBox .photoBox .prev,
#main .about .imgBox .photoBox .next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 3.5rem;
	cursor: pointer;
	transition: .3s;
}
#main .about .imgBox .photoBox .prev {
	left: -2rem;
}
#main .about .imgBox .photoBox .next {
	right: -2rem;
}
#main .about .imgBox .photoBox .foo {
	line-height: 0;
}
#main .about .imgBox .photoBox img {
	width: 100%;
}
#main .about .imgBox .textBox {
	margin-top: 2.5rem;
	flex: 1;
}
#main .about .imgBox .textBox .text {
	margin-bottom: 3.3rem;
	color: #fff;
	line-height: 1.83;
}
#main .about .imgBox .textBox .text:last-of-type {
	margin-bottom: 0;
}
#main .about .imgBox .slick-dots {
	position: absolute;
	left: 0;
	bottom: -4rem;
	width: 100%;
	text-align: center;
}
#main .about .imgBox .slick-dots li {
	position: relative;
	display: inline-block;
	width: 1.8rem;
	height: 1.7rem;
	margin: 0 0.6rem;
	padding: 0;
	cursor: pointer;
	border: 0;
	background: url(../img/index/slider_dot_img01.png) no-repeat left top / 100%;
}
#main .about .imgBox .slick-dots li:nth-child(3n-1) {
	background-image: url(../img/index/slider_dot_img02.png);
}
#main .about .imgBox .slick-dots li:nth-child(3n) {
	background-image: url(../img/index/slider_dot_img03.png);
}
#main .about .imgBox .slick-dots li button {
	display: none;
}
#main .about .imgBox .slick-dots li.slick-active {
	background-image: url(../img/index/slider_dot_img01_on.png);
}
#main .about .imgBox .slick-dots li:nth-child(3n-1).slick-active {
	background-image: url(../img/index/slider_dot_img02_on.png);
}
#main .about .imgBox .slick-dots li:nth-child(3n).slick-active {
	background-image: url(../img/index/slider_dot_img03_on.png);
}
#main .about .imgBox02 {
	margin: 0 3.3rem 0 1rem;
	flex-direction: row-reverse;
}
#main .about .imgBox02 .textBox > .text {
	margin-right: -2rem;
}
#main .about .imgBox02 .photoBox {
	margin-top: 5rem;
	width: 51.5rem;
}
#main .about .imgBox02 .photoBox::after {
	top: -1.7rem;
	background-image: url(../img/index/slider_bg02.png);
}
#main .about .subBox {
	margin-top: 5.4rem;
	padding: 1px 4rem 4.4rem;
	background: url(../img/index/about_line_bg.png) no-repeat left top / 100% 100%;
}
#main .about .subBox .title {
	position: relative;
	margin: -1.4rem 0 2.3rem;
	padding-left: 5.5rem;
	color: #D4B572;
	font-size: 2rem;
	max-width: 32.5rem;
}
#main .about .subBox .title img {
	position: absolute;
	top: 0;
	left: -4rem;
	z-index: 1;
	width: 9rem;
}
#main .about .imgBox .subBox .text {
	line-height: 1.75;
}
@media all and (min-width: 981px) {
	#main .about .headLine02 {
		max-width: 28rem;
		margin: 0 auto 4.4rem;
	}
}
@media all and (max-width: 980px) {
	#main .about {
		padding-top: 7.8rem;
	}
	#main .about .comBgBox {
		height: calc(100% + 1px);
	}
	#main .about .bg {
		width: 26.5rem;
	}
	#main .about .bg02 {
		width: 20rem;
	}
	#main .about .infoBox .text {
		margin-bottom: 3.4rem;
	}
	#main .about .outBox {
		margin: 0 1.2rem;
	}
	#main .about .innerBox {
		margin: 6.7rem auto 8.2rem;
		max-width: 35.5rem;
		padding: 1px 2.7rem 2.5rem;
		background-image: url(../img/common/line_bg01_sp.png);
	}
	#main .about .innerBox .title {
		max-width: 24rem;
		margin: -1rem auto 1rem;
	}
	#main .about .innerBox .title .sml {
		font-size: 1.2rem;
	}
	#main .about .innerBox .text {
		color: #fff;
		font-size: 1.5rem;
		font-weight: 400;
		line-height: 1.9;
		letter-spacing: -0.06em;
	}
	#main .about .imgBox {
		display: block;
		margin-bottom: 7.5rem;
	}
	#main .about .imgBox:last-child {
		margin-bottom: 4.9rem;
	}
	#main .about .imgBox .photoBox {
		margin: 0 5.333vw 7.7rem;
		width: auto;
	}
	#main .about .imgBox .photoBox::after {
		top: -3.2vw;
		left: -3.2vw;
		bottom: -3.2vw;	
		right: -3.2vw;
		background-image: url(../img/index/slider_bg01_sp.png);
	}
	#main .about .imgBox .photoBox .prev {
		left: -1.2rem;
	}
	#main .about .imgBox .photoBox .next {
		right: -1.2rem;
	}
	#main .about .imgBox .textBox {
		margin: 0 2.8rem;
	}
	#main .about .imgBox .slick-dots {
		bottom: -4.3rem;
	}
	#main .about .imgBox02 {
		margin: 0;
	}
	#main .about .imgBox02 .textBox > .text {
		margin-right: 0;
	}
	#main .about .imgBox02 .textBox .headLine03 {
		margin-bottom: 2.5rem;
	}
	#main .about .imgBox02 .photoBox {
		margin: 0 5.333vw 8.7rem;
		width: auto;
	}
	#main .about .subBox {
		margin: 5.7rem auto 0;
		max-width: 31.9rem;
		padding: 1px 3rem 3rem;
		background-image: url(../img/index/about_line_bg_sp.png);
	}
	#main .about .subBox .title {
		margin: -3rem 0 2rem;
		padding-left: 4.5rem;
		font-size: 2rem;
		text-align: center;
		max-width: 21.5rem;
	}
	#main .about .subBox .title img {
		top: 1.8rem;
		left: -3rem;
	}
}
/* gallery */
#main .gallery {
	padding: 7.5rem 0 11.5rem;
	background: url(../img/index/gallery_bg.png) no-repeat left top / cover;
}
#main .gallery .headLine02 {
	margin-bottom: 2.8rem;
}
#main .gallery .text {
	margin-bottom: 7.3rem;
	text-align: center;
	color: #fff;
	line-height: 1.83;
}
#main .gallery .photoBox a {
	position: relative;
	display: block;
	overflow: hidden;
}
#main .gallery .photoBox a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform ease 0.3s;
	-webkit-transition: transform ease 0.3s;
}
#main .gallery .photoBox a::before {
	position: absolute;
    right: 0.9rem;
    bottom: 0.9rem;
    background: url(../img/common/icon03.png) no-repeat;
    background-size: 100% 100%;
    width: 4.6rem;
    height: 4.6rem;
    content: "";
    z-index: 9;
}
@media all and (min-width: 981px) {
	#main .gallery .photoBox .topBox {
		margin-bottom: 1px;
	}
	#main .gallery .photoBox .topBox ul {
		gap: 1px;
	}
	#main .gallery .photoBox .topBox li:nth-child(1) {
		width: calc(50% - 0.5px);
		aspect-ratio: 1161/648;
	}
	#main .gallery .photoBox .topBox li:nth-child(2) {
		flex: 1;
		aspect-ratio: 1161/648;
	}
	#main .gallery .photoBox .subBox {
		gap: 1px;
		align-items: flex-start;
	}
	#main .gallery .photoBox .subBox ul:nth-child(1) {
		width: calc(25% - 0.5px);
		aspect-ratio: 580/1161;
	}
	#main .gallery .photoBox .subBox ul:nth-child(1) li {
		aspect-ratio: 1/1;
	}
	#main .gallery .photoBox .subBox ul:nth-child(1) li:not(:last-child),
	#main .gallery .photoBox .subBox ul:nth-child(3) li:not(:last-child) {
		margin-bottom: 1px;
	}
	#main .gallery .photoBox .subBox ul:nth-child(2) {
		width: calc(50% - 1px);
		gap: 1px;
		aspect-ratio: 1/1;
	}
	#main .gallery .photoBox .subBox ul:nth-child(2) li {
		width: 100%;
		aspect-ratio: 1161/450;
	}
	#main .gallery .photoBox .subBox ul:nth-child(2) li:nth-child(2),
	#main .gallery .photoBox .subBox ul:nth-child(2) li:nth-child(3) {
		width: calc(50% - 0.5px);
		aspect-ratio: 580.5/711;
	}
	#main .gallery .photoBox .subBox ul:nth-child(3) {
		width: calc(25% - 0.5px);
		aspect-ratio: 580/1161;
	}
	#main .gallery .photoBox .subBox ul:nth-child(3) li {
		aspect-ratio: 1/1;
	}
	#main .gallery .photoBox a:hover img {
		transform: scale(1.1);
		-webkit-transform: scale(1.1);
	}
	.fancybox-button--close:hover {
        opacity: 0.7 !important;
    }
}
@media all and (max-width: 980px) {
	#main .gallery {
		padding: 7.5rem 0 8.8rem;
		background-image: url(../img/index/gallery_bg_sp.png);
	}
	#main .gallery .content {
		margin: 0 1.5rem;
	}
	#main .gallery .headLine02 {
		margin-bottom: 2.5rem;
	}
	#main .gallery .headLine02 .en {
		margin-top: 0.6rem;
	}
	#main .gallery .text {
		margin-bottom: 6.4rem;
		line-height: 1.8;
	}
	#main .gallery .photoBox ul {
		gap: 1px;
	}
	#main .gallery .photoBox li {
		width: 100%;
	}
	#main .gallery .photoBox .li01 {
		width: calc(50% - 0.5px);
	}
	#main .gallery .photoBox a::before {
		right: 0.5rem;
		bottom: 0.5rem;
		width: 2.7rem;
		height: 2.7rem;
	}
	#main .gallery .photoBox .li01 a {
		aspect-ratio: 1/1;
	}
	#main .gallery .photoBox .li02 a {
		aspect-ratio: 172/211;
	}
}
/* information */
#main .information {
	padding: 2rem 0 7.4rem;
	position: relative;
}
#main .information .photoBox {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% + 1px);
	z-index: 1;
	contain: paint;
}
#main .information .photoBox .lPhoto,
#main .information .photoBox .rPhoto {
	position: absolute;
    left: 0;
    top: -100lvh;
    width: 100%;
    height: calc(100% + 200lvh);
}
#main .information .photoBox .lPhoto img,
#main .information .photoBox .rPhoto img {
	width: 45rem;
	overflow: hidden;
	object-position: center top;
	position: sticky;
    top: 2rem;
    height: calc(100lvh - 2rem);
    object-fit: cover;
    transform: translateZ(0);
}
#main .information .photoBox .lPhoto {
	left: 0;
}
#main .information .photoBox .lPhoto img {
	border-top-right-radius: 15.5rem;
}
#main .information .photoBox .rPhoto {
	top: auto;
	bottom: -100lvh;
	display: flex;
    justify-content: flex-end;
}
#main .information .photoBox .rPhoto img {
	border-top-left-radius: 15.5rem;
}
#main .information .photoBox img {
	width: 100%;
}
#main .information .content {
	margin-top: 5.5rem;
	position: relative;
	z-index: 2;
}
#main .information .headLine02 {
	margin-bottom: 2.5rem;
}
#main .information .content > .text {
	margin-bottom: 5.1rem;
	text-align: center;
	line-height: 1.83;
}
#main .information .areaBox {
	max-width: 94.5rem;
	margin: 0 auto 7.2rem;
}
#main .information .innerBox {
	padding: 3.5rem 6.5rem 3.2rem;
	position: relative;
	background: url(../img/index/information_bg02.png) no-repeat left 0.6rem top 0.6rem / 6.7rem,url(../img/index/information_bg03.png) no-repeat right 0.6rem top 0.6rem / 6.7rem,url(../img/index/information_bg04.png) no-repeat left 0.6rem bottom 0.6rem / 6.7rem,url(../img/index/information_bg05.png) no-repeat right 0.6rem bottom 0.6rem / 6.7rem,rgba(255, 237, 210, 0.9);
}
#main .information .innerBox .bgLine {
	position: absolute;
	z-index: 1;
	pointer-events: none;
}
#main .information .innerBox .bgLine.top {
	top: 0.6rem;
	left: 7.3rem;
	right: 7.3rem;
	height: 0.7rem;
	background: url(../img/index/information_line01.png) repeat-x left top / 0.8rem auto;
}
#main .information .innerBox .bgLine.bottom {
	bottom: 0.6rem;
	left: 7.3rem;
	right: 7.3rem;
	height: 0.7rem;
	background: url(../img/index/information_line04.png) repeat-x left bottom / 0.8rem auto;
}
#main .information .innerBox .bgLine.left {
	top: 7.3rem;
	bottom: 7.3rem;
	left: 0.6rem;
	width: 0.7rem;
	background: url(../img/index/information_line02.png) repeat-y left top / 0.7rem auto;
}
#main .information .innerBox .bgLine.right {
	top: 7.3rem;
	bottom: 7.3rem;
	right: 0.6rem;
	width: 0.7rem;
	background: url(../img/index/information_line03.png) repeat-y right top / 0.7rem auto;
}
#main .information .innerBox > ul > li {
	padding: 2.2rem 0;
	border-bottom: 1px solid #AA9066;
}
#main .information .innerBox > ul > li:last-child {
	border-bottom: 0;
}
#main .information .innerBox .outBox {
	padding: 0 0.5rem 0 1.3rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#main .information .innerBox .outBox .lText {
	width: 11.3rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #D30010;
}
#main .information .innerBox .outBox .rBox {
	flex: 1;
}
#main .information .innerBox .outBox .rBox .title {
	margin: -1rem 0 1.3rem;
	font-size: 2.5rem;
	color: #D30010;
}
#main .information .innerBox .outBox .notesUl li {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.43;
	color: #AA9066;
	font-family: "Noto Sans JP", sans-serif;
}
#main .information .innerBox .outBox .notesUl01 {
	padding-top: 0.8rem;
}
#main .information .innerBox .outBox .text {
	margin-bottom: 1.2rem;
	letter-spacing: 0.05em;
}
#main .information .innerBox .outBox .title .sml {
	font-size: 1.8rem;
}
#main .information .innerBox .outBox .text a {
	padding-left: 2rem;
	text-decoration: underline;
	color: #6F739B;
	background: url(../img/common/icon04.png) no-repeat left top 0.7rem / 1.6rem;
}
#main .information .innerBox .outBox .text a:hover {
	opacity: 0.7;
}
#main .information .innerBox .comBtn02 {
	margin-bottom: 0.5rem;
}
#main .information .innerBox .comBtn02 a {
	margin: 0 auto;
}
#main .information .areaBox02 .headLine04,
#main .information .areaBox02 .innerBox .outBox .lText,
#main .information .areaBox02 .innerBox .outBox .rBox .title {
	color: #006837;
}
#main .information .areaBox02 .headLine04 {
	margin-bottom: 0.5rem;
}
#main .information .areaBox02 .innerBox {
	padding: 5rem 6.5rem 2.7rem;
}
#main .information .areaBox02 .innerBox > ul > li {
	padding: 2.6rem 0;
}
#main .information .areaBox03 .headLine04 {
	margin-bottom: 1.5rem;
}
#main .information .areaBox03 .innerBox {
	padding-top: 4rem;
	padding-bottom: 4rem;
}
#main .information .areaBox03 .innerBox .outBox .lText {
	width: 13.3rem;
	color: #9E773E;
}
#main .information .areaBox03 .innerBox .gold {
	padding-left: 3em;
	text-indent: -3em;
	padding-top: 0.4rem;
	font-size: 1.4rem;
	font-family: "Noto Sans JP", sans-serif;
	color: #AA9066;
}
#main .information .innerBox .outBox .dotUl {
	margin-left: -1rem;
}
#main .information .innerBox .outBox .dotUl li {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.43;
	color: #AA9066;
	font-family: "Noto Sans JP", sans-serif;
}
@media all and (min-width: 981px) {
	#main .information .comBgBox {
		height: 100%;
	}
}
@media all and (max-width: 980px) {
	#main .information {
		padding: 2.3rem 0 3rem;
		background: url(../img/index/information_bg01_sp.jpg) repeat-y left top / 100% auto;
	}
	#main .information .photoBox {
		position: static;
		display: flex;
		justify-content: space-between;
		height: auto;
	}
	#main .information .photoBox .lPhoto,
	#main .information .photoBox .rPhoto {
		position: static;
		display: block;
		width: 47%;
		height: auto;
	}
	#main .information .photoBox .lPhoto img,
	#main .information .photoBox .rPhoto img {
		position: static;
		height: auto;
		width: 100%;
	}
	#main .information .photoBox .lPhoto img {
		border-top-right-radius: 6rem;
	}
	#main .information .photoBox .rPhoto img {
		border-top-left-radius: 6rem;
	}
	#main .information .content {
		margin-top: 4.5rem;
	}
	#main .information .headLine02 {
		margin-bottom: 2.5rem;
	}
	#main .information .content > .text {
		margin-bottom: 6.2rem;
		line-height: 1.75;
	}
	#main .information .areaBox {
		max-width: 100%;
		margin: 0 auto 5.2rem;
	}
	#main .information .innerBox {	
		margin: 0 1.5rem;
		padding: 3.4rem 3.5rem 2.8rem;
	}
	#main .information .innerBox > ul > li {
		padding: 2.2rem 0 2.7rem;
	}
	#main .information .innerBox > ul > li:last-child {
		border-bottom: 0;
	}
	#main .information .innerBox .outBox {
		padding: 0;
		display: block;
	}
	#main .information .innerBox .outBox .lText {
		margin-bottom: 1rem;
		width: auto;
	}
	#main .information .innerBox .outBox .rBox .title {
		margin: 0 -2rem 1.7rem 0;
		font-size: 2.2rem;
	}
	#main .information .innerBox .outBox .notesUl01 {
		margin-top: -0.3rem;
		padding-top: 0;
	}
	#main .information .innerBox .outBox .text {
		margin-bottom: 2rem;
		line-height: 1.75;
	}
	#main .information .innerBox .outBox .text01 {
		font-size: 1.6rem;
	}
	#main .information .innerBox .outBox .text02 {
		letter-spacing: -0.05rem;
	}
	#main .information .innerBox .outBox .text03 {
		margin-bottom: 1rem;
		line-height: 1.65;
	}
	#main .information .innerBox .outBox .title .sml {
		padding-top: 0.7rem;
		font-size: 1.5rem;
		display: block;
	}
	#main .information .innerBox .outBox .text a {
		padding-left: 2rem;
		background: url(../img/common/icon04.png) no-repeat left top 0.7rem / 1.6rem;
	}
	#main .information .innerBox .comBtn02 {
		margin-bottom: 0.2rem;
	}
	#main .information .areaBox02 .headLine04 {
		margin-bottom: 1rem;
	}
	#main .information .areaBox02 .innerBox {
		padding: 4.7rem 3.5rem 5rem;
	}
	#main .information .areaBox02 .innerBox > ul > li {
		padding: 2.4rem 0 2.7rem;
	}
	#main .information .areaBox02 .innerBox .indent {
		margin-bottom: 0;
		padding-left: 1em;
		text-indent: -1em;
		line-height: 1.5;
	}
	#main .information .areaBox02 .innerBox .indent:last-of-type {
		margin-bottom: 1.3rem;
	}
	#main .information .areaBox03 .headLine04 {
		margin-bottom: 0.5rem;
	}
	#main .information .areaBox03 .innerBox {
		padding-top: 5rem;
		padding-bottom: 5.5rem;
	}
	#main .information .areaBox03 .innerBox .outBox .lText {
		width: auto;
	}
	#main .information .areaBox03 .innerBox .gold {
		margin-top: -1rem;
		padding-top: 0;
		font-size: 1.4rem;
	}
}
/* exibition */
#main .exibition {
	padding: 5.5rem 0;
	position: relative;
	z-index: 2;
	background: url(../img/index/exibition_bg.png) no-repeat left top / cover;
}
#main .exibition::before {
	position: absolute;
	top: 1.2rem;
	left: 0;
	width: 100%;
	height: 1px;
	z-index: 1;
	content: "";
	background-color: #D4B572;
}
#main .exibition::after {
	position: absolute;
	bottom: 1.2rem;
	left: 0;
	width: 100%;
	height: 1px;
	z-index: 1;
	content: "";
	background-color: #D4B572;
}
#main .exibition .slider {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	z-index: 1;
}
#main .exibition .slider .infiniteslide {
	display: flex;
	overflow: hidden;
}
#main .exibition .slider li {
	width: 48rem;
}
#main .exibition .innerBox {
	position: relative;
	z-index: 2;
	margin: 0 auto;
	padding: 6.2rem 5rem;
	width: 87rem;
	height: 100%;
	aspect-ratio: 1/1;
	background-color: rgba(0, 0, 0, 0.8);
	border-radius: 50%;
}
#main .exibition .innerBox > .text {
	margin-bottom: 4.2rem;
	text-align: center;
	color: #fff;
	line-height: 1.83;
}
#main .exibition .innerBox .title {
	margin-bottom: 2.8rem;
	text-align: center;
	color: #fff;
	font-weight: 600;
	letter-spacing: 0.05em;
}
#main .exibition .innerBox .title span {
	margin-top: 1.2rem;
	display: block;
	font-size: 2rem;
}
#main .exibition .innerBox .imgBox {
	padding: 1.2rem 1.7rem;
	margin: 0 auto;
	max-width: 53.5rem;
	background-color: #fff;
	border-radius: 1rem;
	gap: 4.5rem;
}
#main .exibition .innerBox .imgBox .textBox {
	margin: 1.5rem 0 0 2rem;
	flex: 1;
}
#main .exibition .innerBox .imgBox .textBox .hTitle {
	margin-bottom: 1.7rem;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#main .exibition .innerBox .imgBox .textBox .time {
	margin-bottom: 3.5rem;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}
#main .exibition .innerBox .imgBox .textBox .add {
	margin-bottom: 2.4rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.96;
	letter-spacing: 0.05em;
}
#main .exibition .innerBox .imgBox .photoBox {
	width: 17.5rem;
}
#main .exibition .innerBox .imgBox .photoBox img {
	width: 100%;
}
#main .exibition .innerBox .imgBox .photoBox li:not(:last-child) {
	margin-bottom: 0.3rem;
}
#main .exibition .innerBox .comBtn03 {
	margin-left: 0.5rem;
}
@media all and (max-width: 980px) {
	#main .exibition {
		padding: 6.3rem 0 13.2rem;
		background-image: url(../img/index/exibition_bg_sp.png);
	}
	#main .exibition::before {
		top: 1rem;
	}
	#main .exibition::after {
		bottom: 1rem;
	}
	#main .exibition .slider {
		margin-bottom: -79vw;
		position: static;
		transform: translateY(0);
	}
	#main .exibition .slider .infiniteslide {
		display: block;
	}
	#main .exibition .slider li {
		width: auto;
	}
	#main .exibition .slider li img {
		width: 100%;
	}
	#main .exibition .innerBox {
		position: relative;
		margin: 0 1.5rem;
		padding: 2.7rem 1.5rem 5.1rem;
		width: auto;
		height: auto;
		aspect-ratio: auto;
		border-radius: 0;
	}
	#main .exibition .innerBox::after,
	#main .exibition .innerBox::before {
		position: absolute;
		width: 100%;
		height: 3.1rem;
		content: "";
		z-index: 1;
		left: 0;
		background: url(../img/index/exibition_bg01_sp.png) no-repeat left bottom / 100% 100%;
	}
	#main .exibition .innerBox::after {
		bottom: 100%;
	}
	#main .exibition .innerBox::before {
		top: 100%;
		background-image: url(../img/index/exibition_bg02_sp.png);
		background-position: left top;
	}
	#main .exibition .innerBox .headLine02 .en {
		margin-top: 0.7rem;
	}
	#main .exibition .innerBox > .text {
		margin-bottom: 5.2rem;
		line-height: 1.75;
	}
	#main .exibition .innerBox .title {
		margin-bottom: 4.4rem;
	}
	#main .exibition .innerBox .title span {
		margin: 2rem auto 0;
		text-align: left;
		font-size: 2rem;
		line-height: 1.7;
		width: fit-content;
	}
	#main .exibition .innerBox .imgBox {
		padding-bottom: 2.3rem;
		margin: 0 auto;
		display: block;
		max-width: 100%;
	}
	#main .exibition .innerBox .imgBox .textBox {
		margin: 1.5rem 0 2.3rem 2rem;
	}
	#main .exibition .innerBox .imgBox .photoBox {
		margin: 0 0.3rem;
		width: auto;
	}
	#main .exibition .innerBox .imgBox .photoBox ul {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	#main .exibition .innerBox .imgBox .photoBox li {
		width: 49%;
		aspect-ratio: 287/215;
	}
	#main .exibition .innerBox .imgBox .photoBox img {
		height: 100%;
		object-fit: cover;
	}
	#main .exibition .innerBox .imgBox .photoBox li:not(:last-child) {
		margin-bottom: 0.3rem;
	}
	#main .exibition .innerBox .comBtn03 {
		margin: 0 auto;
	}
	#main .exibition .innerBox .comBtn03 a {
		margin: 0 1rem 0 -1rem;
	}
}
/* product */
#main .product {
	position: relative;
}
#main .product .photoBox {
	padding-bottom: 100vh;
}
#main .product .innerBox {
	padding: 5.7rem 5rem 8.5rem;
	position: relative;
	background: url(../img/index/product_bg02.png) no-repeat left 1.2rem top 1rem / 10.2rem,url(../img/index/product_bg03.png) no-repeat right 1.2rem top 1rem / 10.2rem,url(../img/index/product_bg04.png) no-repeat left 1.2rem bottom 1rem / 10.2rem,url(../img/index/product_bg05.png) no-repeat right 1.2rem bottom 1rem / 10.2rem,rgba(255, 237, 210, 0.8);
}
#main .product .innerBox .bgLine {
	position: absolute;
	z-index: 1;
	pointer-events: none;
}
#main .product .innerBox .bgLine.top {
	top: 1rem;
	left: 11.4rem;
	right: 11.2rem;
	height: 1rem;
	background: url(../img/index/product_line01.png) repeat-x left top / 0.9rem auto;
}
#main .product .innerBox .bgLine.bottom {
	bottom: 1rem;
	left: 11.4rem;
	right: 11.4rem;
	height: 1rem;
	background: url(../img/index/product_line02.png) repeat-x left bottom / 0.9rem auto;
}
#main .product .innerBox .bgLine.left {
	top: 11.2rem;
	bottom: 11.2rem;
	left: 1.2rem;
	width: 1rem;
	background: url(../img/index/product_line03.png) repeat-y left top / 1rem auto;
}
#main .product .innerBox .bgLine.right {
	top: 11.2rem;
	bottom: 11.2rem;
	right: 1.2rem;
	width: 1rem;
	background: url(../img/index/product_line04.png) repeat-y right top / 1rem auto;
}
#main .product .innerBox::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	z-index: 1;
	mix-blend-mode: multiply;
	background: url(../img/index/product_bg01.png) no-repeat left top / cover;
	pointer-events: none;
}
#main .product .innerBox .headLine02 {
	position: relative;
	z-index: 2;
	margin-bottom: 1.9rem;
}
#main .product .innerBox .headLine02 .en {
	margin-top: 0.3rem;
}
#main .product .innerBox .areaBox {
	padding: 5rem 3rem 8rem;
	position: relative;
	z-index: 2;
	margin: 0 auto;
	max-width: 95rem;
	border: 0.3rem solid #E9D0A1;
	background-color: #fff;
}
#main .product .innerBox .areaBox .hTitle {
	margin-bottom: 1.1rem;
	text-align: center;
	font-weight: 500;
	font-size: 3.5rem;
	color: #D30010;
}
#main .product .innerBox .areaBox .hTitle .sml {
	display: block;
	font-size: 1.6rem;
	color: #333;
	letter-spacing: 0.05em;
}
#main .product .innerBox .areaBox .hTitle .big {
	padding-bottom: 0.7rem;
	display: block;
	color: #D30010;
	font-size: 4.5rem;
	font-weight: 600;
	letter-spacing: -0.13em;
	background: url(../img/index/product_h_imgtext.png) no-repeat left calc(50% + 0.8rem) bottom / 73.1rem auto;
}
#main .product .innerBox .areaBox .price {
	margin-bottom: 3.5rem;
	text-align: center;
	font-weight: 600;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
}
#main .product .innerBox .areaBox .price .num {
	font-size: 2.6rem;
	display: inline-block;
	vertical-align: -0.4rem;
}
#main .product .innerBox .areaBox .price .jp {
	font-size: 2rem;
	display: inline-block;
	vertical-align: -0.4rem;
}
#main .product .innerBox .title {
	margin-bottom: 0.3rem;
	text-align: center;
	font-weight: 600;
	font-size: 1.5rem;
	color: #D30010;
}
#main .product .innerBox .outBox {
	margin: 0 auto;
	max-width: 50rem;
}
#main .product .innerBox .infoBox {
	margin-bottom: 1.5rem;
	padding: 1.8rem 0 2.5rem 4.5rem;
	position: relative;
	border-top: 0.2rem solid #AA9066;
	border-bottom: 0.2rem solid #AA9066;
}
#main .product .innerBox .infoBox::before,
#main .product .innerBox .infoBox::after {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	content: "";
	z-index: 1;
	background-color: #AA9066;
}
#main .product .innerBox .infoBox::before {
	top: 0.3rem;
}
#main .product .innerBox .infoBox::after {
	bottom: 0.3rem;
}
#main .product .innerBox .outBox .dotUl {
	margin-bottom: 0.7rem;
}
#main .product .innerBox .outBox .dotUl li {
	padding-left: 1.1em;
	text-indent: -1.1em;
	line-height: 1.94;
}
#main .product .innerBox .outBox .dotUl .sml {
	font-size: 1.4rem;
	letter-spacing: -0.02rem;
}
#main .product .innerBox .outBox .notesUl {
	margin-left: 1.7rem;
}
#main .product .innerBox .outBox .notesUl li {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 1.5rem;
	font-weight: 500;
}
#main .product .innerBox .glodText {
	margin-bottom: 2rem;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.43;
	font-family: "Noto Sans JP", sans-serif;
	color: #AA9066;
}
#main .product .comBanner {
	margin-top: -4rem;
}
#main .product .subBg {
	position: absolute;
	bottom: -1.7rem;
	left: 50%;
	transform: translateX(-50%);
	width: 103.5rem;
	z-index: 2;
}
@media all and (min-width: 981px) {
	#main .product .comBgBox {
		height: calc(100% - 1px);
	}
}
@media all and (max-width: 980px) {
	#main .product .innerBox {
		padding: 7.1rem 0 3.5rem;
		background: url(../img/index/product_bg02.png) no-repeat left 0.8rem top 0.8rem / 6.7rem,url(../img/index/product_bg03.png) no-repeat right 0.8rem top 0.8rem / 6.7rem,url(../img/index/product_bg04.png) no-repeat left 0.8rem bottom 0.8rem / 6.7rem,url(../img/index/product_bg05.png) no-repeat right 0.8rem bottom 0.8rem / 6.7rem,rgba(255, 237, 210, 0.8);
	}
	#main .product .innerBox .bgLine.top {
		top: 0.8rem;
		left: 7.5rem;
		right: 7.5rem;
		height: 1rem;
		background: url(../img/index/product_line01.png) repeat-x left top / 0.6rem auto;
	}
	#main .product .innerBox .bgLine.bottom {
		bottom: 0.8rem;
		left: 7.5rem;
		right: 7.5rem;
		height: 1rem;
		background: url(../img/index/product_line02.png) repeat-x left bottom / 0.6rem auto;
	}
	#main .product .innerBox .bgLine.left {
		top: 7.5rem;
		bottom: 7.5rem;
		left: 0.8rem;
		width: 0.7rem;
		background: url(../img/index/product_line03_sp.png) repeat-y left top / 0.7rem auto;
	}
	#main .product .innerBox .bgLine.right {
		top: 7.5rem;
		bottom: 7.5rem;
		right: 0.8rem;
		width: 0.7rem;
		background: url(../img/index/product_line04_sp.png) repeat-y right top / 0.7rem auto;
	}
	#main .product .innerBox::after {
		background-image: url(../img/index/product_bg01_sp.png);
	}
	#main .product .innerBox .headLine02 .en {
		margin-top: 0.5rem;
	}
	#main .product .innerBox .areaBox {
		padding: 2.3rem 1.5rem 6rem;
		margin: 0 2.2rem;
		max-width: 100%;
	}
	#main .product .innerBox .areaBox .hTitle {
		margin-bottom: 2rem;
		font-size: 2.5rem;
		line-height: 1.4;
	}
	#main .product .innerBox .areaBox .hTitle .sml {
		margin-bottom: 3rem;
		font-size: 1.5rem;
		letter-spacing: 0.1em;
		line-height: 1.3;
	}
	#main .product .innerBox .areaBox .hTitle .big {
		margin: 0 -1.5rem -0.3rem;
		padding-bottom: 1rem;
		font-size: 3.5rem;
		line-height: 1.1;
		letter-spacing: -0.3rem;
		background: url(../img/index/product_h_imgtext_sp.png) no-repeat center bottom / 29.5rem auto;
	}
	#main .product .innerBox .areaBox .price {
		margin-bottom: 1.7rem;
		line-height: 1.3;
	}
	#main .product .innerBox .areaBox .price .jp {
		vertical-align: -0.2rem;
	}
	#main .product .innerBox .outBox {
		margin: 0 1rem;
		max-width: 100%;
	}
	#main .product .innerBox .infoBox {
		margin-bottom: 2.7rem;
		padding: 2.5rem 0 2.8rem;
	}
	#main .product .innerBox .outBox .dotUl {
		margin-bottom: 1.5rem;
	}
	#main .product .innerBox .outBox .dotUl li {
		margin-bottom: 1.9rem;
		line-height: 1;
		font-size: 1.7rem;
	}
	#main .product .innerBox .outBox .dotUl li:last-child {
		margin-bottom: 0;
	}
	#main .product .innerBox .outBox .dotUl .sml {
		font-size: 1.3rem;
	}
	#main .product .innerBox .outBox .notesUl {
		margin-left: 1.7rem;
	}
	#main .product .innerBox .outBox .notesUl li {
		font-size: 1.4rem;
		font-weight: 400;
	}
	#main .product .innerBox .glodText {
		margin-bottom: 2rem;
		text-align: left;
		font-size: 1.3rem;
		font-weight: 400;
		line-height: 1.53;
	}
	#main .product .comBanner {
		margin-top: -3.5rem;
	}
	#main .product .subBg {
		bottom: -0.7rem;
		width: 40rem;
	}
}
