﻿@charset "utf-8";

/*-------------------------------------------------------
ページ共通
-------------------------------------------------------*/

/* パララックス
------------------------*/
.js_parallax.s_parallaxY,
.js_parallax.s_parallaxX {
	transition: opacity 0.7s 0s, transform 0.7s 0s;
}

.js_parallax.s_parallaxY {
	transform: translateY(30px);
	opacity: 0;
}

.js_parallax.s_parallaxY.s_aniShow {
	transform: translateY(0);
	opacity: 1;
}

.js_parallax.s_parallaxX {
	transform: translateX(30px);
	opacity: 0;
}

.js_parallax.s_parallaxX.s_aniShow {
	transform: translateX(0);
	opacity: 1;
}

/* m_modal
------------------------*/
html.s_modalShow,
html.s_modalShow body {
	overflow: hidden;
}

.m_modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3000;
	display: none;
}

.m_modal__closeBg {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.6);
}

.m_modal__window {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	max-width: 1000px;
	width: calc(100% - 50px);
	max-height: calc(100% - 140px);
	transform: translateY(-50%);
	z-index: 3000;
}

.m_modal__closeBtn {
	position: absolute;
	z-index: 100;
	bottom: calc(100% + 10px);
	right: 0;
	width: 50px;
	height: 50px;
	cursor: pointer;
	background-color: #000;
	border-radius: 50%;
}

.m_modal__closeBtn::before,
.m_modal__closeBtn::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 26px;
	height: 2px;
	background-color: #fff;
	transform: rotate(45deg);
}

.m_modal__closeBtn::after {
	transform: rotate(-45deg);
}

.m_modal__youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.m_modal__youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	border: none;
}

.m_modal__box {
	padding: 50px;
	background-color: #fff;
	font-size: 14px;
	letter-spacing: 0.16em;
	line-height: 1.714;
}

.m_modal__boxTitle {
	font-weight: 500;
	font-size: 24px;
	line-height: 1;
	text-align: center;
	margin-bottom: 30px;
}

.m_modal__col {
	display: flex;
}

.m_modal__colItem {
	width: 50%;
}

.m_modal__text {
	margin-top: 20px;
}

.m_modal__caption {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 26px;
	background-color: rgba(0, 0, 0, 0.6);
	font-size: 12px;
	letter-spacing: 0.08em;
	line-height: 1;
	text-align: right;
	color: #fff;
	padding: 0 20px 0 0;
}

/* s_photo */
.m_modal.s_photo .m_modal__window {
	max-width: 1000px;
}

.m_modal.s_photo .m_slide {
	overflow: hidden;
}

.m_modal.s_photo .m_slide__item {
	opacity: 1;
	padding: 0 50px;
}

.m_modal.s_photo .m_slide__item img {
	height: 100%;
}

.m_modal.s_photo .m_modal__closeBtn {
	right: 50px;
}

.m_modal.s_photo .m_modal__imageWrap {
	overflow: hidden;
	padding-bottom: 26px;
}

.m_modal.s_photo .m_modal__image {
	position: relative;
	height: 0;
	padding-top: 68.961038961039%;
}

.m_modal.s_photo .m_modal__imageInner {
	position: absolute;
	top: 0;
	left: 50%;
	height: 100%;
	transform: translateX(-50%);
}

.m_modal.s_photo .m_modal__imageInner img {
	width: auto;
	height: 100%;
	max-width: none;
}

.m_modal.s_photo .m_slide__nav {
	opacity: 0;
	pointer-events: none;
	margin-top: 10px;
}

@media screen and (max-width: 767px) {
	.m_modal__closeBtn {
		width: 40px;
		height: 40px;
	}

	.m_modal__closeBtn::before,
	.m_modal__closeBtn::after {
		width: 20px;
		height: 1px;
	}

	.m_modal__window {
		width: calc(100% - 20px);
	}

	.m_modal__box {
		padding: 15px;
		font-size: 11px;
		line-height: 1.364;
	}

	.m_modal__boxTitle {
		font-size: 14px;
		margin-bottom: 15px;
	}

	.m_modal__col {
		display: block;
	}

	.m_modal__colItem {
		width: auto;
	}

	.m_modal__text {
		margin-top: 1em;
	}

	/* s_photo */
	.m_modal.s_photo .m_modal__window {
		width: 100%;
	}

	.m_modal.s_photo .m_slide__item {
		padding: 0 20px;
	}

	.m_modal.s_photo .m_modal__closeBtn {
		right: 20px;
	}

	.m_modal.s_photo .m_slide__leftBtn,
	.m_modal.s_photo .m_slide__rightBtn {
		width: 35px;
		height: 100%;
	}

	.m_modal.s_photo .m_slide__leftBtn img,
	.m_modal.s_photo .m_slide__rightBtn img {
		width: 22px;
	}
}

@media (orientation: landscape) and (max-height: 767px) {
	.m_modal.s_photo .m_modal__window {
		max-width: 111.320vh;
	}

	.m_modal.s_youtube .m_modal__window {
		max-width: 123vh;
	}
}

@media screen and (min-height: 768px) {
	.m_modal.s_photo.s_vertical .m_modal__window {
		max-width: 550px;
	}

	.m_modal.s_photo.s_vertical .m_modal__image {
		padding-top: 145.1%;
	}
}

@media screen and (max-width: 767px) and (min-height: 500px) {
	.m_modal.s_photo.s_vertical .m_modal__window {
		max-width: 500px;
	}

	.m_modal.s_photo.s_vertical .m_modal__image {
		padding-top: 135%;
	}
}


/* m_scroll
------------------------*/
.m_scroll {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100px;
	margin: 0 auto;
	pointer-events: none;
}

.m_scroll__wheel {
	overflow: hidden;
	position: relative;
	width: 4px;
	height: 80px;
	margin: 0 auto;
}

.m_scroll__wheel::before,
.m_scroll__wheel::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background-color: #000;
	margin: 0 auto;
}

.m_scroll__wheel::before {
	width: 2px;
	height: 100%;
}

.m_scroll__wheel::after {
	width: 4px;
	height: 32px;
	animation: wheel 2s infinite linear 0.5s both;
}

/* s_prev */
.m_scroll.s_prev {
	top: 0;
	bottom: auto;
}

.m_scroll.s_prev .m_scroll__wheel {
	transform: scaleY(-1);
}

@media screen and (max-width: 767px) {
	.m_scroll__wheel {
		width: 3px;
		height: 60px;
	}

	.m_scroll__wheel::before {
		width: 1px;
	}

	.m_scroll__wheel::after {
		width: 3px;
		height: 30px;
	}
}

/* m_box
------------------------*/
.m_box {
	position: relative;
	background-color: #fff;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.16);
	height: 728px;
	z-index: 1;
}

.m_box::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 432px 432px 0 0;
	border-color: var(--base-color) transparent transparent transparent;
	z-index: -1;
}

.m_box.s_noTriangle::before {
	display: none;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.m_box {
		box-shadow: 0px 0px 0.9765625vw rgba(0, 0, 0, 0.16);
		height: 71.094vw;
	}

	.m_box::before {
		border-width: 42.188vw 42.188vw 0 0;
	}
}

@media screen and (max-width: 767px) {
	.m_box {
		height: 647px;
	}

	.m_box::before {
		border-width: 234px 234px 0 0;
	}
}

/* m_media
------------------------*/
.m_media {
	position: relative;
	display: flex;
	height: 100%;
	background-color: #fff;
}

.m_media::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 5px;
	background-color: var(--base-color);
}

.m_media__image {
	position: relative;
	width: 60.4%;
	background-color: #A3A3A3;
}

.m_media__contents {
	position: relative;
	width: 39.6%;
}

.m_media__title {
	font-weight: 500;
	font-size: 22px;
	letter-spacing: 0.08em;
	line-height: 1.5;
	text-align: center;
	margin: 0 -35px 20px;
	pointer-events: none;
}

.m_media__head {
	position: relative;
	margin-bottom: 30px;
	pointer-events: none;
}

.m_media__name {
	font-weight: bold;
	font-size: 21px;
	letter-spacing: 0.08em;
	line-height: 1.476;
}

.m_media__position {
	position: relative;
	font-weight: bold;
	font-size: 14px;
	letter-spacing: 0.08em;
	line-height: 2;
	margin-top: 7px;
	padding-left: 5px;
}

.m_media__position::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 2px;
	height: 1em;
	background-color: #333;
	margin: auto 0;
}

.m_media__sns {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	pointer-events: auto;
}

.m_media__sns>li+li {
	margin-left: 7px;
}

.m_media__sns>li>a {
	display: block;
}

.m_media__text {
	font-size: 12px;
	letter-spacing: 0.08em;
	line-height: 1.833;
	pointer-events: none;
}

.m_media__category {
	position: absolute;
	left: 50%;
	bottom: 25px;
	transform: translateX(-50%);
	font-family: "Playfair Display";
	font-weight: bold;
	font-size: 50px;
	letter-spacing: 0.1em;
	line-height: 1;
	text-align: center;
	color: #bcbcbc;
	z-index: 1;
}

.m_media__btn {
	margin-top: 30px;
}

.m_media__thums {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 -6px -6px;
}

.m_media__thums>li {
	width: 50%;
	padding: 0 0 6px 6px;
}

.m_media__thumItem {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 68.9265536723164%;
	cursor: pointer;
	background-color: #fff;
}

.m_media__thumItem img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.m_media__thumItem::before {
	content: "";
	position: absolute;
	top: 5px;
	right: 5px;
	width: 10px;
	height: 10px;
	background: url(/cms/sp/z30/img/icon_zoom.svg) no-repeat 0 0;
	z-index: 1;
}

.m_media__label {
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(100% - 50px);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background-color: var(--base-color);
	text-align: center;
	margin: 0 auto;
	z-index: 1;
}

.m_media__labelStep {
	font-weight: 500;
	font-size: 15px;
	letter-spacing: 0.08em;
	line-height: 1;
	margin-top: -0.3em;
}

.m_media__labelNum {
	font-family: "Playfair Display";
	font-weight: 500;
	font-size: 51px;
	letter-spacing: 0.08em;
	line-height: 0.6;
}

/* s_movie */
.m_media.s_movie .m_media__image {
	cursor: pointer;
}

.m_media.s_movie .m_media__text {
	font-family: 'Noto Sans JP Vertical', sans-serif;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	line-height: 2.8;
	letter-spacing: 0.2em;
}

_:lang(x)::-moz-placeholder,
.m_media.s_movie .m_media__text span.s_otf {
	position: relative;
	left: 0.05em;
	font-family: 'Noto Sans JP Vertical Otf', sans-serif;
}

.m_media.s_movie .m_media__text span.s_posRight {
	position: relative;
	left: 0.4em;
}

.m_media.s_movie .m_media__contents {
	position: relative;
	display: flex;
	justify-content: center;
	padding: 30px 20px;
	pointer-events: none;
}

/* s_spec */
.m_media.s_spec .m_media__contents {
	padding: 50px 35px;
}

.m_media__label+.m_media__title {
	margin-top: 35px;
}

/* s_profile */
.m_media.s_profile .m_media__contents {
	padding: 60px 40px;
}

/* s_photo */
.m_media.s_photo {
	background-color: var(--base-color);
}

.m_media.s_photo .m_media__contents {
	padding: 70px 10px;
}

/* s_reverse */
.m_media.s_reverse {
	flex-direction: row-reverse;
}

/* s_type01 */
.m_media.s_photo.s_type01 .m_media__thums>li:nth-child(1) .m_media__thumItem {
	padding-top: 141.6%;
}

.m_media.s_photo.s_type01 .m_media__thums>li:nth-child(3) {
	position: absolute;
	right: 0;
	bottom: 0;
}

/* s_kol03 */
.m_media.s_photo.s_kol03 .m_media__thums>li:nth-child(2) .m_media__thumItem img {
	top: -18%;
	height: auto;
}

.m_media.s_photo.s_kol03 .m_media__thums>li:nth-child(3) .m_media__thumItem img {
	top: -47%;
	height: auto;
}

/* s_current */
.m_media.s_movie .m_media__text {
	opacity: 0;
	transform: translateY(-3em);
	transition: opacity 0.5s, transform 0.5s;
}

.m_media.s_movie .m_media__text.s_aniShow {
	transform: translateY(0);
	opacity: 1;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.m_media::after {
		height: 0.488vw;
	}

	.m_media__title {
		font-size: 2.148vw;
		margin: 0 -3.418vw 1.953vw;
	}

	.m_media__head {
		margin-bottom: 2.93vw;
	}

	.m_media__name {
		font-size: 2.051vw;
	}

	.m_media__position {
		font-size: 1.367vw;
		margin-top: 0.684vw;
		padding-left: 0.488vw;
	}

	.m_media__position::before {
		width: 0.195vw;
	}

	.m_media__sns>li+li {
		margin-left: 0.684vw;
	}

	.m_media__text {
		font-size: 1.172vw;
	}

	.m_media__category {
		bottom: 2.441vw;
		font-size: 4.883vw;
	}

	.m_media__btn {
		margin-top: 2.93vw;
	}

	.m_media__thums {
		margin: 0 0 -0.586vw -0.586vw;
	}

	.m_media__thums>li {
		padding: 0 0 0.586vw 0.586vw;
	}

	.m_media__thumItem::before {
		top: 0.488vw;
		right: 0.488vw;
		width: 0.977vw;
		height: 0.977vw;
	}

	.m_media__label {
		bottom: calc(100% - 4.883vw);
		width: 9.766vw;
		height: 9.766vw;
	}

	.m_media__labelStep {
		font-size: 1.465vw;
	}

	.m_media__labelNum {
		font-size: 4.98vw;
	}

	/* s_movie */
	.m_media.s_movie .m_media__contents {
		padding: 2.93vw 1.953vw;
	}

	/* s_spec */
	.m_media.s_spec .m_media__contents {
		padding: 4.883vw 3.418vw;
	}

	.m_media__label+.m_media__title {
		margin-top: 3.418vw;
	}

	/* s_profile */
	.m_media.s_profile .m_media__contents {
		padding: 5.859vw 3.906vw;
	}

	/* s_photo */
	.m_media.s_photo .m_media__contents {
		padding: 6.836vw 0.977vw;
	}
}

@media screen and (max-width: 767px) {
	.m_media {
		display: block;
		height: calc(100% - 35px);
	}

	.m_media::after {
		height: 4px;
	}

	.m_media__image {
		width: auto;
	}

	.m_media__contents {
		position: static;
		width: auto;
	}

	.m_media__title {
		font-size: 17px;
		line-height: 1.353;
		margin: 0 -25px 12px;
	}

	.m_media__head {
		margin-bottom: 17px;
	}

	.m_media__name {
		font-size: 14px;
		line-height: 1.464;
	}

	.m_media__position {
		font-size: 10px;
		margin-top: 4px;
	}

	.m_media__sns {
		top: auto;
		bottom: 2px;
		right: 0;
	}

	.m_media__sns>li+li {
		margin-left: 5px;
	}

	.m_media__sns>li img {
		height: 23px;
	}

	.m_media__text {
		font-size: 11px;
		line-height: 1.727;
	}

	.m_media__category {
		top: calc(100% + 8px);
		left: 0;
		bottom: auto;
		width: 100%;
		text-align: right;
		transform: none;
		font-size: 22px;
	}

	.m_media__btn {
		position: absolute;
		left: 0;
		bottom: 56px;
		width: 100%;
	}

	.m_media__thums {
		margin: -41px 0 -2px -2px;
	}

	.m_media__thums>li {
		padding: 0 0 2px 2px;
	}

	.m_media__thumItem::before {
		top: 2px;
		right: 2px;
	}

	.m_media__label {
		top: 144px;
		left: 23px;
		right: auto;
		width: 60px;
		height: 60px;
	}

	.m_media__labelStep {
		font-size: 11px;
	}

	.m_media__labelNum {
		font-size: 35px;
	}

	/* s_movie */
	.m_media.s_movie .m_media__image {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.m_media.s_movie .m_media__image img {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.m_media.s_movie .m_media__text {
		color: #fff;
		font-size: 11px;
		line-height: 2.5;
		letter-spacing: 0.2em;
	}

	.m_media.s_movie .m_media__contents {
		height: 100%;
		padding: 15px 20px;
	}

	/* s_spec */
	.m_media.s_spec .m_media__contents {
		padding: 20px 35px;
	}

	.m_media__label+.m_media__title {
		margin-top: 0;
	}

	/* s_profile */
	.m_media.s_profile .m_media__contents {
		padding: 20px 40px;
	}

	/* s_photo */
	.m_media.s_photo .m_media__contents {
		padding: 0px 20px;
	}
}

/* m_slide
------------------------*/
.m_slide {
	position: relative;
	margin: 0 auto;
}

.m_slide::before,
.m_slide::after {
	content: "";
	position: absolute;
	top: 0;
	width: 50vw;
	height: 100%;
	opacity: 0;
	z-index: 1;
}

.m_slide::before {
	right: 100%;
}

.m_slide::after {
	left: 100%;
}

.m_slide__visual {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
}

.m_slide__visual img {
	pointer-events: none;
}

.m_slide__item {
	min-width: 100%;
	height: 100%;
	opacity: 0.5;
}

.m_slide__item.s_current {
	opacity: 1;
}

.m_slide__btn {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	max-width: var(--contents-width);
	width: 100%;
	height: 100%;
	margin: 0 auto;
	pointer-events: none;
	z-index: 2;
}

.m_slide__leftBtn,
.m_slide__rightBtn {
	position: absolute;
	top: 50%;
	width: 42px;
	height: 86px;
	transform: translateY(-50%);
	cursor: pointer;
	pointer-events: auto;
}

.m_slide__leftBtn {
	left: 0;
}

.m_slide__rightBtn {
	right: 0;
}

.m_slider__curMark {
	display: flex;
	justify-content: center;
}

.m_slider__curMark>li {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: 1px solid #666;
	margin: 0 5px;
	cursor: pointer;
}

.m_slider__curMark>li.s_current {
	background-color: #666;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {

	.m_slide__leftBtn,
	.m_slide__rightBtn {
		width: 4.102vw;
		height: 8.398vw;
	}

	.m_slider__curMark>li {
		width: 0.781vw;
		height: 0.781vw;
		margin: 0 0.488vw;
	}
}

@media screen and (max-width: 767px) {

	.m_slide__leftBtn,
	.m_slide__rightBtn {
		display: flex;
		align-items: center;
		width: 50px;
		height: 160px;
	}

	.m_slide__rightBtn {
		justify-content: flex-end;
	}
}

/* m_btn
------------------------*/
.m_btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 34px;
	border-radius: 0.5em;
	background: #000;
	border: 1px solid #000;
	font-weight: bold;
	font-size: 10px;
	letter-spacing: 0.16em;
	line-height: 1.4;
	text-align: center;
	color: var(--base-color);
	margin: 0 auto;
}

.m_btn::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.5em;
	width: 0.6em;
	height: 0.6em;
	background: url(/cms/sp/z30/img/icon_arrow_01.svg) no-repeat 50% 50% / contain;
	margin: auto 0;
}

/* s_blank */
.m_btn.s_blank {
	background: #fff;
	border-color: #4A4A4A;
	color: #000;
}

.m_btn.s_blank::after {
	background-image: url(/cms/sp/z30/img/icon_arrow_black_01.svg);
}

/* s_type01 */
.m_btn.s_type01 {
	background: var(--base-color);
	border-color: var(--base-color);
	color: #000;
}

.m_btn.s_type01::after {
	background-image: url(/cms/sp/z30/img/icon_arrow_black_01.svg);
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.m_btn {
		width: 19.531vw;
		height: 3.32vw;
		font-size: 0.977vw;
	}
}

@media screen and (max-width: 767px) {
	.m_btn {
		width: 205px;
		height: 35px;
		letter-spacing: 0.2em;
	}
}

/* m_playBtn
------------------------*/
.m_playBtn {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 108px;
	height: 108px;
	margin: auto;
}

.m_playBtn>div,
.m_playBtn::before,
.m_playBtn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	animation-duration: 3s;
	animation-iteration-count: infinite;
}

.m_playBtn>div {
	background-color: rgba(0, 0, 0, 0.3);
	border: 2px solid var(--base-color);
}

.m_playBtn>div::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 7px;
	right: 0;
	width: 30px;
	height: 30px;
	background: url(/cms/sp/z30/img/icon_arrow_02.svg) no-repeat 50% 50% / contain;
	margin: auto;
}

.m_playBtn::before,
.m_playBtn::after {
	border-style: solid;
	border-width: 6px;
	border-color: var(--base-color);
	animation-name: playBtn-ripples;
}

.m_playBtn::before {
	animation-delay: 0s;
}

.m_playBtn::after {
	animation-delay: 0.5s;
}

@keyframes playBtn-ripples {
	0% {
		width: 100%;
		height: 100%;
		opacity: 1;
		border-width: 2px;
	}

	75% {
		width: 200%;
		height: 200%;
		opacity: 0;
		border-width: 1px;
	}

	100% {
		width: 200%;
		height: 200%;
		opacity: 0;
		border-width: 0px
	}
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.m_playBtn {
		width: 10.547vw;
		height: 10.547vw;
	}

	.m_playBtn>div::before {
		left: 0.684vw;
		width: 2.93vw;
		height: 2.93vw;
	}

	.m_playBtn::before,
	.m_playBtn::after {
		border-width: 0.586vw;
	}
}

@media screen and (max-width: 767px) {
	.m_playBtn {
		width: 82px;
		height: 82px;
	}

	.m_playBtn>div::before {
		width: 26px;
		height: 30px;
	}
}


/* keyframes
------------------------*/
@keyframes wheel {
	0% {
		transform: translateY(-100%);
	}

	100% {
		transform: translateY(400%);
	}
}

@keyframes wheel-prev {
	0% {
		transform: translateY(400%);
	}

	100% {
		transform: translateY(-100%);
	}
}

/*-------------------------------------------------------
ページ個別
-------------------------------------------------------*/

/* main
------------------------*/
.main {
	display: none;
}

body:not(.s_touchDevice) a {
	transition: opacity 0.3s;
}

body:not(.s_touchDevice) a:hover {
	opacity: 0.7;
}

/* :not(.s_showContents) */
body:not(.s_showContents) .main>*:not(.intro) {
	display: none;
}

/* header
------------------------*/
.header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	padding: 0 30px;
}

.header__inner {
	position: relative;
	width: 100%;
	/* max-width: var(--contents-width); */
	margin: 0 auto;
}

.header__logo {
	position: absolute;
	top: 30px;
	left: 0;
	width: 68px;
	height: 68px;
}

@media screen and (max-width: 767px) {
	.header {
		padding: 0 15px;
	}

	.header__logo {
		top: 15px;
		width: 40px;
		height: 40px;
	}
}

/* loading
------------------------*/
.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	/* Fallback */
	height: calc(var(--vh, 1vh) * 100);
	background-color: #000;
	z-index: 1000;
	opacity: 1;
}

.loading__item {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 120px;
	height: 120px;
	text-align: center;
	font-family: 'Roboto', sans-serif;
	color: var(--base-color);
	font-size: 12px;
	line-height: 1;
	transform: translate(-50%, -50%);
}

.loading__item::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(/cms/sp/z30/img/loading_01.svg) no-repeat 0 0 / contain;
	animation: loading 1.4s infinite linear;
}

.loading__item::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 1px solid var(--base-color);
	border-radius: 50%;
	opacity: 0;
}

.loading__camera01 {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 740px;
	height: 740px;
	transform: translate(-50%, -50%);
	opacity: 0;
}

/* s_loadingAni01 */
.loading__item::before,
.loading__item::after,
.loading__item>span,
.loading__camera01 {
	transition: all 1s 1s;
}

body.s_loadingAni01 .loading__item::before {
	opacity: 0;
}

body.s_loadingAni01 .loading__item::after {
	opacity: 1;
}

body.s_loadingAni01 .loading__item>span {
	opacity: 0;
}

body.s_loadingAni01 .loading__camera01 {
	opacity: 0.5;
}

/* s_loadingAni02 */
body.s_loadingAni02 .loading__item::after,
body.s_loadingAni02 .loading__camera01 img {
	transition: transform 2.5s cubic-bezier(1, 0, 0, 0), opacity 0.2s 2.3s;
	transform: scale(30);
	opacity: 0;
}

/* s_loadingAniEnd */
.loading {
	transition: opacity 0.5s;
}

body.s_loadingAniEnd .main {
	display: block;
}

body.s_loadingAniEnd .loading {
	pointer-events: none;
	opacity: 0;
}

/* s_introShow */
body.s_introShow .loading {
	display: none;
}

@keyframes loading {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@media screen and (max-width: 767px) {
	.loading__item {
		width: 114px;
		height: 114px;
		font-size: 10px;
	}

	.loading__camera01 {
		width: 570px;
		height: 570px;
	}
}

/* skip
------------------------*/
.skip {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	/* Fallback */
	height: calc(var(--vh, 1vh) * 100);
	padding: 0 15px;
}

.skip__inner {
	position: relative;
	width: 100%;
	max-width: var(--contents-width);
	height: 100%;
	margin: 0 auto;
}

.skip__btn {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: 30px;
	right: 0;
	width: 114px;
	height: 30px;
	background-color: rgba(0, 0, 0, 0.3);
	border: 1px solid #fff;
	border-radius: 999em;
	color: #fff;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.skip__btn::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 12px;
	height: 12px;
	background: url(/cms/sp/z30/img/skip_arrow_01.svg) no-repeat 0 0 / contain;
	margin: auto 0;
}

@media screen and (max-width: 767px) {
	.skip__btn {
		width: 76px;
		height: 20px;
		font-size: 10px;
	}

	.skip__btn::after {
		right: 10px;
		width: 6px;
		height: 6px;
	}
}

/* intro
------------------------*/
.intro {
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
}

body.s_showContents .intro {
	position: relative;
}

.intro.s_aniEnd {
	min-height: 768px;
	height: 100vh;
}

.intro__inner {}

.intro__scroll {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	/* Fallback */
	height: calc(var(--vh, 1vh) * 100);
	margin: 0 auto;
	opacity: 0;
	transition: opacity 0.5s;
	pointer-events: none;
}

.intro__scrollInner {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100px;
	margin: 0 auto;
}

.intro__scrollText {
	font-family: 'Roboto', sans-serif;
	text-align: center;
	color: var(--base-color);
	font-size: 12px;
	line-height: 1;
	margin-bottom: 10px;
}

.intro__scrollWheel {
	overflow: hidden;
	position: relative;
	width: 3px;
	height: 75px;
	margin: 0 auto;
}

.intro__scrollWheel::before,
.intro__scrollWheel::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background-color: var(--base-color);
	margin: 0 auto;
}

.intro__scrollWheel::before {
	width: 1px;
	height: 100%;
}

.intro__scrollWheel::after {
	width: 3px;
	height: 20px;
	animation: wheel 2s infinite linear 0.5s both;
}

.intro__copy00 {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 154px;
	margin: auto;
	transform: translate(-50%, -50%);
}

.intro__bg01 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
}

.intro__bg01 {
	transition: opacity 0.5s;
}

.intro__kol01,
.intro__kol02,
.intro__kol03,
.intro__kol04 {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	max-width: var(--contents-width);
	height: 100%;
	margin: 0 auto;
	opacity: 0;
}

.intro__kol02 {
	height: calc(var(--vh, 1vh) * 100);
}

.intro__kol01 {
	transform: translateX(-50px);
}

.intro__kol02 {
	transform: translateX(50px);
}

.intro__kol01.s_show,
.intro__kol02.s_show,
.intro__kol03.s_show,
.intro__kol04.s_show {
	opacity: 1;
	transform: translateX(0);
}

.intro__kol01 img,
.intro__kol02 img,
.intro__kol03 img,
.intro__kol04 img {
	position: absolute;
	bottom: 0;
}

.intro__kol01 img {
	left: 70px;
	width: 402px;
}

.intro__kol02 img {
	right: 158px;
	width: 407px;
}

.intro__kol03 img {
	left: 0;
	width: 443px;
}

.intro__kol04 img {
	right: 56px;
	width: 487px;
}

.intro__copy01,
.intro__copy02,
.intro__copy03,
.intro__copy04 {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 700px;
	height: 700px;
	transform: translate(-50%, -50%);
}

.intro__copy01>div,
.intro__copy02>div,
.intro__copy03>div,
.intro__copy04>div,
.intro__copy05>div {
	overflow: hidden;
}

.intro__copy01>div,
.intro__copy02>div,
.intro__copy03>div,
.intro__copy04>div {
	position: absolute;
	margin-left: -8px;
}

.intro__copy01>div {
	top: 90px;
	right: 94px;
}

.intro__copy02>div {
	top: 95px;
	left: 70px;
}

.intro__copy03>div {
	top: 111px;
	right: 61px;
}

.intro__copy04>div {
	top: 169px;
	left: 74px;
}

.intro__copy01>div>span,
.intro__copy02>div>span,
.intro__copy03>div>span,
.intro__copy04>div>span,
.intro__copy05>div>span {
	overflow: hidden;
	position: relative;
	display: inline-block;
	vertical-align: top;
	background-color: #fff;
	margin-top: -1px;
	transform: translateY(-100%);
}

.intro__copy01>div>span,
.intro__copy02>div>span,
.intro__copy03>div>span,
.intro__copy04>div>span {
	margin-left: 16px;
	padding: 25px 10px;
}

.intro__copy01>div>span>span,
.intro__copy02>div>span>span,
.intro__copy03>div>span>span,
.intro__copy04>div>span>span,
.intro__copy05>div>span>span {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
}

.intro__copy01>div>span>img,
.intro__copy02>div>span>img,
.intro__copy03>div>span>img,
.intro__copy04>div>span>img {
	width: 22px;
}

.intro__copy05 {
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
}

.intro__copy05>div {
	margin-left: -12px;
}

.intro__copy05>div>span {
	margin-left: 24px;
	padding: 15px 12px;
}

.intro__copy05>div>span>img {
	width: 26px;
}

.intro__camera02 {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 670px;
	transform: translate(-50%, -50%);
	margin-top: 30px;
}

.intro__logo01 {
	position: absolute;
	bottom: 60px;
	left: 50%;
	width: 408px;
	transform: translateX(-50%);
	margin-left: -260px;
}

.intro__logo01Lead {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 329px;
	height: 50px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	font-weight: 500;
	font-size: 28px;
	letter-spacing: 0.06em;
	line-height: 1;
	text-align: center;
	color: #000;
	margin: 0 auto;
}

.intro__ripples {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 125px;
	height: 125px;
	margin: auto;
}

.intro__ripples>div,
.intro__ripples::before,
.intro__ripples::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	animation-duration: 3s;
	animation-iteration-count: infinite;
}

.intro__ripples>div {
	background-color: var(--base-color);
	animation-name: ripplesZoom;
	animation-timing-function: ease-in;
}

@keyframes ripplesZoom {
	0% {
		width: 100%;
		height: 100%;
	}

	25% {
		width: 200%;
		height: 200%;
	}

	100% {
		width: 100%;
		height: 100%;
	}
}

.intro__ripples::before,
.intro__ripples::after {
	border-style: solid;
	border-width: 6px;
	border-color: var(--base-color);
	animation-name: ripples;
}

.intro__ripples::before {
	animation-delay: 0s;
}

.intro__ripples::after {
	animation-delay: 0.25s;
}

@keyframes ripples {
	0% {
		width: 100%;
		height: 100%;
		opacity: 1;
		border-width: 6px;
	}

	75% {
		width: 500%;
		height: 500%;
		opacity: 0;
		border-width: 1px;
	}

	100% {
		width: 500%;
		height: 500%;
		opacity: 0;
		border-width: 0;
	}
}

.intro__bg02 {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-radius: 50%;
	box-shadow: 0 0 0 calc(100vw + 100vh) var(--bg-color);
	transform: translate(-50%, -50%);
}

.intro__movie01,
.intro__movie02,
.intro__movie03,
.intro__movie04 {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.intro__movie01 .intro__movie01Item,
.intro__movie02 .intro__movie02Item,
.intro__movie03 .intro__movie03Item,
.intro__movie04 .intro__movie04Item {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100vh;
	height: 100vh;
	background-position: center;
	background-size: cover;
	overflow: hidden;
	transform: translate(-50%, -50%);
}

.intro__movie01 .intro__movie01Item:nth-child(1),
.intro__movie03 .intro__movie03Item:nth-child(1) {
	clip-path: polygon(100% 0, 0 100%, 0 0);
}

.intro__movie01 .intro__movie01Item:nth-child(2),
.intro__movie03 .intro__movie03Item:nth-child(2) {
	clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
}

.intro__movie02 .intro__movie02Item:nth-child(1),
.intro__movie04 .intro__movie04Item:nth-child(1) {
	clip-path: polygon(100% 0, 100% 100%, 0 0);
}

.intro__movie02 .intro__movie02Item:nth-child(2),
.intro__movie04 .intro__movie04Item:nth-child(2) {
	clip-path: polygon(0% 0%, 0% 100%, 100% 100%);
}

.intro__movie01 img,
.intro__movie02 img,
.intro__movie03 img,
.intro__movie04 img,
.intro__movie01 video,
.intro__movie02 video,
.intro__movie03 video,
.intro__movie04 video {
	position: absolute;
	width: auto;
	max-width: none;
	height: 85vh;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	object-fit: cover;
}

.intro__movie01 video,
.intro__movie02 video,
.intro__movie03 video,
.intro__movie04 video {
	display: none;
}

.intro__movie01 .intro__movie01Item:nth-child(1) img,
.intro__movie01 .intro__movie01Item:nth-child(1) video {
	top: 0;
	left: 45%;
	height: 100%;
	transform: translate(-50%, 0);
}

.intro__movie01 .intro__movie01Item:nth-child(2) img,
.intro__movie01 .intro__movie01Item:nth-child(2) video {
	left: auto;
	right: 10%;
	transform: translate(50%, -50%);
}

.intro__movie01.s_test img,
.intro__movie01.s_test video {
	top: 0;
	height: 100%;
	transform: translate(-50%, 0);
}

/* アニメーション */
.intro__copy00 {
	opacity: 0;
	transition: opacity 1s;
}

.intro__bg02 {
	transition: width 1s, height 1s;
}

.intro__copy01>div>span,
.intro__copy02>div>span,
.intro__copy05>div>span {
	transition: transform 0.5s 0.5s;
}

.intro__copy01>div>span>span,
.intro__copy02>div>span>span,
.intro__copy05>div>span>span {
	transition: transform 0.5s;
}

.intro__kol01,
.intro__kol02 {
	transition: opacity 1.5s, transform 1.5s;
}

.intro__camera02 {
	opacity: 0;
	transform: translate(-50%, -50%) scale(25);
	transition: transform 2s cubic-bezier(0, 1, 0, 1), opacity 0.5s;
}

.intro__logo01 {
	opacity: 0;
}

/* s_aniStart */
.intro.s_aniStart .intro__scroll {
	opacity: 1;
}

.intro.s_aniStart .intro__copy00 {
	opacity: 1;
}

.intro.s_aniStart .intro__bg02.s_02 {
	opacity: 0;
}

/* s_ani01 */
.intro.s_ani01 .intro__bg01 {
	transition-delay: 0.5s;
}

.intro.s_ani01 .intro__bg01,
.intro.s_ani02 .intro__bg01,
.intro.s_aniEnd .intro__bg01 {
	opacity: 0;
}

.intro.s_ani01 .intro__bg02.s_01 {
	width: 85vh;
	height: 85vh;
	transition: width 1s 0.5s, height 1s 0.5s;
}

.intro.s_ani01 .intro__bg02.s_02 {
	opacity: 0;
}

.intro.s_ani01 .intro__copy00 {
	transition-delay: 0.2s;
}

.intro.s_ani01 .intro__kol01 {
	transform: translateX(0);
	opacity: 1;
	transition: opacity 1.5s 0.5s, transform 1.5s 0.5s;
}

.intro.s_ani01 .intro__copy01>div>span {
	transform: translateY(0);
	transition: transform 0.5s 0.5s;
}

.intro.s_ani01 .intro__copy01>div>span>span {
	transform: translateY(100%);
	transition: transform 0.5s 1s;
}

/* s_ani02 */
.intro.s_ani02 .intro__bg02.s_01 {
	width: 0;
	height: 0;
	opacity: 0;
	transition: width 1s, height 1s, opacity 0s 1s;
}

.intro.s_ani02 .intro__bg02.s_02 {
	width: 85vh;
	height: 85vh;
	opacity: 1;
	transition: width 1s 1s, height 1s 1s, opacity 0s 1s;
}

.intro.s_ani02 .intro__kol02 {
	transform: translateX(0);
	opacity: 1;
	transition: opacity 1.5s 1s, transform 1.5s 1s;
}

.intro.s_ani02 .intro__copy02>div>span {
	transform: translateY(0);
	transition: transform 0.5s 1s;
}

.intro.s_ani02 .intro__copy02>div>span>span {
	transform: translateY(100%);
	transition: transform 0.5s 1.5s;
}

.intro.s_ani02 .intro__movie01 {
	opacity: 0;
	transition: opacity 0s 1s;
}

/* s_aniEnd */
.intro.s_aniEnd .intro__copy05>div>span {
	transform: translateY(0);
	transition: transform 0.5s 0.5s;
}

.intro.s_aniEnd .intro__copy05>div>span>span {
	transform: translateY(100%);
	transition: transform 0.5s 1s;
}

.intro.s_aniEnd .intro__camera02 {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.intro.s_aniEnd .intro__logo01 {
	opacity: 1;
	transition: opacity 1s 1s;
}

.intro.s_aniEnd .intro__bg02.s_01 {
	opacity: 0;
}

.intro.s_aniEnd .intro__bg02.s_02 {
	width: 0;
	height: 0;
}

.intro.s_aniEnd .intro__movie01 {
	opacity: 0;
}

.intro.s_aniEnd .skip {
	display: none;
}

/* s_ani02Prev */
.intro.s_ani02Prev .intro__bg02.s_01 {
	transition: width 1s 1s, height 1s 1s, opacity 0s 1s;
}

.intro.s_ani02Prev .intro__bg02.s_02 {
	transition: width 1s, height 1s, opacity 0s 1s;
}

.intro.s_ani02Prev .intro__movie01 {
	transition: opacity 0s 1s;
}

@media screen and (min-width: 520px) and (max-width: 1023px) {
	.intro.s_aniEnd {
		min-height: 75vw;
	}

	.intro__copy05 {
		top: 1.953vw;
	}

	.intro__copy05>div {
		margin-left: -1.172vw;
	}

	.intro__copy05>div>span {
		margin-left: 2.344vw;
		padding: 1.465vw 1.172vw;
	}

	.intro__copy05>div>span>img {
		width: 2.539vw;
	}

	.intro__camera02 {
		width: 65.43vw;
		margin-top: 2.93vw;
	}

	.intro__logo01 {
		bottom: 5.859vw;
		width: 39.844vw;
		margin-left: -25.391vw;
	}

	.intro__logo01Lead {
		width: 32.129vw;
		height: 4.883vw;
		font-size: 2.734vw;
	}
}

@media screen and (min-width: 520px) and (max-aspect-ratio: 81/100) {
	.intro__logo01 {
		margin-left: 0;
	}
}

@media screen and (max-width: 519px) {
	.intro.s_aniEnd {
		min-height: 667px;
	}

	.intro__scrollText {
		font-size: 10px;
	}

	.intro__scrollWheel {
		height: 65px;
	}

	.intro__scrollWheel::after {
		height: 18px;
	}

	.intro__kol01,
	.intro__kol02,
	.intro__kol03,
	.intro__kol04 {
		max-width: 375px;
	}

	.intro__kol01 img,
	.intro__kol02 img,
	.intro__kol03 img,
	.intro__kol04 img {
		left: auto;
		right: auto;
	}

	.intro__copy00 {
		width: 100px;
	}

	.intro__kol01 img {
		left: 42px;
		width: 249px;
	}

	.intro__kol02 img {
		left: 67px;
		width: 243px;
	}

	.intro__kol03 img {
		left: 65px;
		width: 277px;
	}

	.intro__kol04 img {
		left: 40px;
		width: 277px;
	}

	.intro__copy01,
	.intro__copy02,
	.intro__copy03,
	.intro__copy04 {
		width: 100%;
		height: 100%;
	}

	.intro__copy01>div,
	.intro__copy02>div,
	.intro__copy03>div,
	.intro__copy04>div {
		top: 0;
		left: 50%;
		right: auto;
		transform: translateX(-50%);
		margin-left: -8px;
	}

	.intro__copy01>div>span,
	.intro__copy02>div>span,
	.intro__copy03>div>span,
	.intro__copy04>div>span {
		margin-left: 16px;
		padding: 22px 7px;
	}

	.intro__copy01>div>span>img,
	.intro__copy02>div>span>img,
	.intro__copy03>div>span>img,
	.intro__copy04>div>span>img {
		width: 16px;
	}

	.intro__copy05 {
		top: 15px;
	}

	.intro__copy05>div {
		margin-left: -9px;
	}

	.intro__copy05>div>span {
		margin-left: 18px;
		padding: 12px 10px 10px;
	}

	.intro__copy05>div>span>img {
		width: 22px;
	}

	.intro__camera02 {
		width: 430px;
		margin-top: -10px;
	}

	.intro__logo01 {
		bottom: 128px;
		width: 178px;
		margin-left: 100px;
	}

	.intro__logo01Lead {
		width: 134px;
		height: 21px;
		font-size: 11px;
	}

	.intro__ripples {
		width: 100px;
		height: 100px;
	}
}

@media (orientation: landscape) and (max-height: 767px) {
	.intro.s_aniEnd {
		min-height: 100vh;
	}

	.intro__copy05 {
		top: 2.604vh;
	}

	.intro__copy05>div {
		margin-left: -1.562vh;
	}

	.intro__copy05>div>span {
		margin-left: 3.125vh;
		padding: 1.953vh 1.563vh;
	}

	.intro__copy05>div>span>img {
		width: 3.385vh;
	}

	.intro__camera02 {
		width: 87.24vh;
		margin-top: 3.906vh;
	}

	.intro__logo01 {
		bottom: 7.813vh;
		width: 53.125vh;
		margin-left: -33.854vh;
	}

	.intro__logo01Lead {
		width: 42.839vh;
		height: 6.51vh;
		font-size: 3.646vh;
	}
}

@media (orientation: landscape) and (max-height: 767px) and (max-width: 800px) {
	.intro__logo01 {
		margin-left: -28vh;
	}
}

/* fullSection
------------------------*/
.fullSection {
	overflow: hidden;
}

/* fullNav
------------------------*/
.fullNav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	padding: 0 15px;
	pointer-events: none;
	cursor: pointer;
	z-index: 10;
}

.fullNav__inner {
	position: relative;
	width: 100%;
	/* max-width: var(--contents-width); */
	height: 100%;
	margin: 0 auto;
}

.fullNav__curMark {
	position: absolute;
	left: 13px;
	bottom: 100px;
	width: 8px;
	pointer-events: auto;
}

.fullNav__curMark>li {
	width: 4px;
	height: 4px;
	background-color: #CCC;
	border-radius: 50%;
	margin: 0 auto;
	cursor: pointer;
}

.fullNav__curMark>li+li {
	margin-top: 6px;
}

.fullNav__curMark>li.s_current {
	width: 8px;
	height: 8px;
}

@media screen and (max-width: 767px) {
	.fullNav__curMark {
		position: fixed;
		bottom: 60px;
		left: 20px;
	}
}

/* memuArea
------------------------*/
.memuArea {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	/* Fallback */
	padding: 0 20px;
	pointer-events: none;
	z-index: 100;
}

.memuArea__inner {
	position: relative;
	width: 100%;
	/* max-width: var(--contents-width); */
	height: 100%;
	margin: 0 auto;
}

.memuArea__btn {
	position: absolute;
	top: 20px;
	right: 0;
	width: 50px;
	height: 50px;
	background-color: rgba(255, 255, 255, 0.57);
	border-radius: 50%;
	box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
	pointer-events: auto;
	cursor: pointer;
}

.memuArea__btn::before,
.memuArea__btn::after {
	position: absolute;
	left: 0;
	right: 0;
	width: 24px;
	height: 1px;
	background-color: #707070;
	margin: 0 auto;
}

.memuArea__btn::before {
	content: "";
	top: 21px;
}

.memuArea__btn::after {
	content: "";
	bottom: 21px;
}

.memuArea__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.5s;
}

.memuArea__btnNew {
	position: absolute;
	top: 3px;
	right: 3px;
	width: 10px;
	height: 10px;
	background-color: #f00;
	border-radius: 50%;
}

/* s_show */
body.s_menuShow .memuArea__bg {
	opacity: 1;
	pointer-events: auto;
}

body.s_menuShow .memuArea__btn {
	display: none;
}

@media screen and (max-width: 767px) {
	.memuArea__btn {
		top: 15px;
		width: 40px;
		height: 40px;
	}

	.memuArea__btn::before,
	.memuArea__btn::after {
		width: 23px;
	}

	.memuArea__btn::before {
		content: "";
		top: 16px;
	}

	.memuArea__btn::after {
		content: "";
		bottom: 16px;
	}
}

/* menu
------------------------*/
.menu {
	overflow: auto;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	max-width: 410px;
	height: 100vh;
	background-color: #fff;
	pointer-events: auto;
	transform: translateX(100%);
	transition: transform 0.5s;
}

.menu__inner {
	padding-bottom: 100px;
}

.menu__btn {
	position: absolute;
	top: 19px;
	right: 16px;
	width: 50px;
	height: 50px;
	background-color: #000;
	border-radius: 50%;
	pointer-events: auto;
	cursor: pointer;
}

.menu__btn::before,
.menu__btn::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 32px;
	height: 2px;
	background-color: #fff;
	margin: auto;
}

.menu__btn::before {
	content: "";
	transform: rotate(45deg);
}

.menu__btn::after {
	content: "";
	transform: rotate(-45deg);
}

.menu__logo {
	width: 232px;
	margin: 20px 0 30px;
}

.menu__links {
	max-width: 345px;
}

.menu__links>li {
	position: relative;
}

.menu__link {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 50px;
	border-bottom: 1px solid #E5E5E5;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	padding: 10px 30px;
}

.menu__new {
	display: inline-block;
	color: #F00;
	font-size: 11px;
	margin: 10px;
}

/* s_title */
.menu__links>li.s_title .menu__link {
	min-height: 44px;
	font-size: 14px;
	font-weight: normal;
}

/* s_indent */
.menu__links>li.s_indent .menu__link {
	padding-left: 65px;
}

.menu__links>li.s_indent .menu__link::before {
	content: "";
	position: absolute;
	left: 46px;
	top: 18px;
	width: 9px;
	height: 9px;
	border-left: 1px solid #707070;
	border-bottom: 1px solid #707070;
}

/* s_show */
body.s_menuShow {
	overflow: hidden;
}

body.s_menuShow .menu {
	transform: translateX(0);
}

/* s_current */
.menu__links>li.s_current .menu__link {
	background-color: var(--base-color);
}

@media screen and (max-width: 767px) {
	.menu__btn {
		top: 15px;
		right: 20px;
		width: 40px;
		height: 40px;
	}

	.menu__btn::before,
	.menu__btn::after {
		width: 25px;
		height: 1px;
	}

	.menu__logo {
		width: 227px;
		margin: 0 0 30px;
	}

	.menu__links {
		max-width: 312px;
	}

	.menu__link {
		font-size: 15px;
	}

	.menu__link,
	.menu__links>li.s_title .menu__link {
		min-height: 42px;
		padding: 8px 36px;
	}

	/* s_indent */
	.menu__links>li.s_indent .menu__link {
		padding-left: 63px;
	}

	.menu__links>li.s_indent .menu__link::before {
		left: 42px;
		top: 13px;
	}

	.menu__links>li.s_indent .menu__link::after {
		content: "";
		position: absolute;
		top: 100%;
		left: 0;
		width: 30px;
		height: 1px;
		background-color: #fff;
	}

	/* s_show */
	body.s_menuShow .menu {
		transform: translateX(0);
	}
}

@media screen and (max-width: 500px) {
	.menu {
		max-width: none;
	}
}

/* alertArea
------------------------*/
.alertArea {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	/* Fallback */
	height: calc(var(--vh, 1vh) * 100);
	background-color: var(--bg-color);
	display: none;
	z-index: 100000;
}

.alertArea img {
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: none;
	width: auto;
	height: 100%;
	transform: translate(-50%, -50%);
}

body.s_showContents .alertArea {
	display: none !important;
}

@media (orientation: landscape) and (max-height: 500px) {
	body:not(.s_showSection) .alertArea {
		display: block;
	}
}


/* concept
------------------------*/
.concept {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 768px;
}

.concept__inner {
	max-width: var(--contents-width);
	width: 100%;
	margin: 0 auto;
}

.concept__col {
	display: flex;
	align-items: center;
}

.concept__colItem {
	width: 50%;
}

.concept__title {
	text-align: center;
	font-size: 40px;
	font-weight: bold;
	line-height: 1.75;
	letter-spacing: 0.08em;
}

.concept__title span.s_fontL {
	font-size: 1.25em;
	line-height: 1;
}

.concept__contents {
	padding-left: 60px;
}

.concept__text {
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.2em;
	line-height: 2;
}

.concept__text>p+p {
	margin-top: 1em;
}

/* s_current */
.concept__title {
	opacity: 0;
	filter: blur(10px);
	transition: opacity 1s, filter 1s;
}

.concept__textAni>span {
	display: inline-block;
	opacity: 0;
	transform: translateY(0.2em);
	transition: opacity 1s, transform 1s;
}

.concept__colItem.s_aniShow .concept__title {
	opacity: 1;
	filter: blur(0);
}

.concept__colItem.s_aniShow .concept__textAni>span {
	opacity: 1;
	transform: translateY(0);
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.concept {
		min-height: 75vw;
	}

	.concept__title {
		font-size: 3.906vw;
	}

	.concept__contents {
		padding-left: 5.859vw;
	}

	.concept__text {
		font-size: 1.563vw;
	}
}

@media screen and (max-width: 767px) {
	.concept {
		min-height: 667px;
	}

	.concept__col {
		display: block;
	}

	.concept__colItem {
		width: auto;
	}

	.concept__title {
		font-size: 30px;
		line-height: 1.833;
		letter-spacing: 0.15em;
		margin-bottom: 30px;
	}

	.concept__title span.s_fontL {
		font-size: 1.166em;
	}

	.concept__contents {
		padding-left: 0;
	}

	.concept__text {
		font-size: 13px;
		text-align: center;
	}

	.concept__text>p+p {
		margin-top: 1em;
	}
}

/* impression
------------------------*/
.impression {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 768px;
	padding: 0 30px;
}

.impression__inner {
	max-width: var(--contents-width);
	width: 100%;
	margin: 0 auto;
}

.impression .m_box {
	height: auto;
	padding: 30px 82px;
}

.impression__title {
	position: relative;
	width: 260px;
	margin: 0 auto 20px;
	padding-bottom: 36px;
}

.impression__title::before,
.impression__title::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	background-color: #000;
	margin: 0 auto;
}

.impression__title::before {
	bottom: 0;
	width: 34px;
	height: 4px;
}

.impression__title::after {
	bottom: 1px;
	width: 80px;
	height: 2px;
}

.impression__lead {
	text-align: center;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.2727;
	letter-spacing: 0.12em;
	color: #000;
}

.impression__image {
	position: relative;
	max-width: 860px;
	margin: 20px auto 0;
	cursor: pointer;
}

.impression__btn {
	display: block;
	width: 570px;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.16);
	margin: 10px auto;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.impression {
		min-height: 75vw;
		padding: 0 2.93vw;
	}

	.impression .m_box {
		padding: 2.93vw 8.008vw;
	}

	.impression__title {
		width: 25.391vw;
		margin: 0 auto 1.953vw;
		padding-bottom: 3.516vw;
	}

	.impression__title::before {
		width: 3.32vw;
		height: 0.391vw;
	}

	.impression__title::after {
		bottom: 0.098vw;
		width: 7.813vw;
		height: 0.195vw;
	}

	.impression__lead {
		font-size: 2.148vw;
	}

	.impression__image {
		max-width: 83.984vw;
		margin-top: 1.953vw;
	}

	.impression__btn {
		width: 55.664vw;
		margin: 0.977vw auto 0;
	}
}

@media screen and (max-width: 767px) {
	.impression {
		min-height: 667px;
		padding: 0 10px;
	}

	.impression .m_box {
		padding: 10px 35px 25px;
	}

	.impression__title {
		width: 172px;
		margin: 0 auto 15px;
		padding-bottom: 15px;
	}

	.impression__title::before {
		width: 30px;
		height: 3px;
	}

	.impression__title::after {
		width: 60px;
		height: 1px;
	}

	.impression__lead {
		font-size: 17px;
		letter-spacing: 0.08em;
		line-height: 1.53;
		text-align: center;
	}

	.impression__image {
		max-width: 285px;
		margin-top: 18px;
	}

	.impression__btn {
		max-width: 285px;
		width: 100%;
	}
}

/* creators
------------------------*/
.creators {
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 768px;
	padding: 100px 0;
}

.creators__inner {
	max-width: var(--contents-width);
	width: 100%;
	margin: 0 auto;
}

.creators__title {
	width: 402px;
	margin: 0 auto 15px;
}

.creators .m_slide {
	width: 1006px;
}

.creators .m_slide::before {
	right: calc(100% - 23px);
}

.creators .m_slide::after {
	left: calc(100% - 23px);
}

.creators .m_slide__item {
	padding: 0 23px;
}

.creators .m_slide__visual,
.creators .m_slide__btn {
	height: 505px;
}

.creators .m_slide__leftBtn {
	left: -21px;
}

.creators .m_slide__rightBtn {
	right: -21px;
}

.creators .m_slide__nav {
	margin-top: 75px;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.creators {
		min-height: 75vw;
		padding: 9.766vw 0;
	}

	.creators__title {
		width: 39.258vw;
		margin: 0 auto 1.464vw;
	}

	.creators .m_slide {
		width: 98.242vw;
	}

	.creators .m_slide::before {
		right: calc(100% - 2.246vw);
	}

	.creators .m_slide::after {
		left: calc(100% - 2.246vw);
	}

	.creators .m_slide__item {
		padding: 0 2.246vw;
	}

	.creators .m_slide__visual,
	.creators .m_slide__btn {
		height: 49.316vw;
	}

	.creators .m_slide__leftBtn {
		left: 0;
	}

	.creators .m_slide__rightBtn {
		right: 0;
	}

	.creators .m_slide__nav {
		margin-top: 7.324vw;
	}
}

@media screen and (max-width: 767px) {
	.creators {
		min-height: 667px;
		padding: 50px 0;
	}

	.creators__title {
		width: 285px;
		margin-bottom: 0;
	}

	.creators .m_media__category {
		color: #000;
	}

	.creators .m_slide {
		width: 309px;
	}

	.creators .m_slide::before {
		right: calc(100% - 12px);
	}

	.creators .m_slide::after {
		left: calc(100% - 12px);
	}

	.creators .m_slide__item {
		padding: 0 12px;
	}

	.creators .m_slide__visual,
	.creators .m_slide__btn {
		height: 576px;
	}

	.creators .m_slide__nav {
		position: absolute;
		left: 8px;
		bottom: 16px;
		margin-top: 0;
	}
}


/* various
------------------------*/
.various {
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 768px;
	padding: 100px 0;
}

.various__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.various__bg img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.various__inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.various__movie {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

.various__movieInner {
	position: relative;
	width: 100%;
}

.various__movieVideo {
	overflow: hidden;
	cursor: pointer;
}

.various__movie video {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.various .m_slide {
	height: 100%;
}

.various .m_slide::before {
	right: calc(100% - 23px);
}

.various .m_slide::after {
	left: calc(100% - 23px);
}

.various .m_slide__visual,
.various .m_slide__btn {
	height: 100%;
}

.various .m_slide__btn {
	max-width: 1006px;
}

.various .m_slide__item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.various .m_slide__leftBtn {
	left: -21px;
}

.various .m_slide__rightBtn {
	right: -21px;
}

.various .m_slide__nav {
	position: absolute;
	left: 0;
	bottom: 20px;
	width: 100%;
}

.various .m_slider__curMark>li {
	border-color: #666;
}

.various .m_slider__curMark>li.s_current {
	background-color: #666;
}

.various__slideContents {
	width: 1006px;
	height: 505px;
	padding: 0 23px;
}

.various__slideBg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.75;
	backdrop-filter: blur(50px);
	--webkit-backdrop-filter: blur(50px);
	background-color: rgba(255, 255, 255, 0.5);
}

.m_slide__item.s_01 .various__slideBg {
	height: 226px;
	opacity: 1;
	backdrop-filter: blur(0);
	--webkit-backdrop-filter: blur(0);
	z-index: -1;
}

.various__head {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	/* background-color: rgba(255,255,255,0.5); */
	z-index: 1;
}

.various__headInner {
	position: relative;
	max-width: var(--contents-width);
	width: 100%;
	margin: 0 auto;
	padding: 25px 0;
}

.various__headTitle {
	font-family: "Playfair Display";
	font-weight: bold;
	font-size: 22px;
	letter-spacing: 0.08em;
	line-height: 1;
	text-align: center;
	color: #000;
	transition: transform 0.3s;
}

.various__headTitle img {
	display: block;
	width: 300px;
	margin: 0 auto;
}

.various__headText {
	font-size: 14px;
	letter-spacing: 0.08em;
	line-height: 1.714;
	text-align: center;
	color: #000;
	margin-top: 6px;
}

.various__new {
	position: absolute;
	top: -70px;
	left: 30px;
	width: 140px;
	height: 140px;
	background: #fee600;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.16);
	border-radius: 50%;
}

.various__newText {
	position: absolute;
	left: 4px;
	bottom: 30px;
	width: 100%;
	font-family: "Playfair Display";
	font-weight: bold;
	font-size: 26px;
	letter-spacing: 0.2em;
	line-height: 1;
	text-align: center;
	color: #000;
}

.various__new::before,
.various__new::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	animation-duration: 3s;
	animation-iteration-count: infinite;
}

.various__new::before,
.various__new::after {
	border-style: solid;
	border-width: 6px;
	border-color: var(--base-color);
	animation-name: new-ripples;
}

.various__new::before {
	animation-delay: 0s;
}

.various__new::after {
	animation-delay: 0.5s;
}

@keyframes new-ripples {
	0% {
		width: 100%;
		height: 100%;
		opacity: 1;
		border-width: 2px;
	}

	75% {
		width: 200%;
		height: 200%;
		opacity: 0;
		border-width: 1px;
	}

	100% {
		width: 200%;
		height: 200%;
		opacity: 0;
		border-width: 0px
	}
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.various {
		min-height: 75vw;
		padding: 9.766vw 0;
	}

	.various .m_slide::before {
		right: calc(100% - 2.246vw);
	}

	.various .m_slide::after {
		left: calc(100% - 2.246vw);
	}

	.various .m_slide__leftBtn {
		left: 0;
	}

	.various .m_slide__rightBtn {
		right: 0;
	}

	.various .m_slide__btn {
		max-width: 98.242vw;
	}

	.various .m_slide__nav {
		bottom: 1.953vw;
	}

	.various__slideContents {
		width: 98.242vw;
		height: 49.316vw;
		padding: 0 2.246vw;
	}

	.m_slide__item.s_01 .various__slideBg {
		height: 22.07vw;
	}

	.various__headInner {
		padding: 2.441vw 0;
	}

	.various__headTitle {
		font-size: 2.148vw;
	}

	.various__headTitle img {
		width: 29.297vw;
	}

	.various__headText {
		font-size: 1.367vw;
		margin-top: 0.586vw;
	}

	.various__new {
		position: absolute;
		top: -6.836vw;
		left: 2.93vw;
		width: 13.672vw;
		height: 13.672vw;
		box-shadow: 0px 0px 0.9765625vw rgba(0, 0, 0, 0.16);
	}

	.various__newText {
		left: 0.391vw;
		bottom: 2.93vw;
		font-size: 2.539vw;
	}

	.various__new::before,
	.various__new::after {
		border-width: 0.586vw;
	}
}

@media screen and (max-width: 767px) {
	.various {
		min-height: 667px;
		padding: 50px 0;
	}

	.various .m_media__category {
		color: #000;
	}

	.various .m_slide::before {
		right: calc(100% - 12px);
	}

	.various .m_slide::after {
		left: calc(100% - 12px);
	}

	.various .m_slide__item {
		opacity: 1;
	}

	.various .m_slide__btn {
		max-width: 309px;
	}

	.various .m_slide__nav {
		position: absolute;
		left: 16px;
		right: 0;
		bottom: 35px;
		width: 309px;
		margin: 0 auto;
	}

	.various .m_slider__curMark {
		justify-content: flex-start;
	}

	.various__slideContents {
		width: 309px;
		height: 576px;
		padding: 0 12px;
		margin-top: 54px;
	}

	.m_slide__item.s_01 .various__slideBg {
		height: 180px;
	}

	.various__headInner {
		padding: 22px 0 20px;
	}

	.various__headTitle {
		font-size: 14px;
	}

	.various__head:not(.s_zoom) .various__headTitle {
		transform: scale(0.6071) translateY(-50px);
	}

	.various__headTitle img {
		width: 270px;
		margin-top: 3px;
	}

	.various__headText {
		font-size: 12px;
		margin-top: 83px;
		position: absolute;
		top: 40px;
		left: 0;
		right: 0;
	}

	.various__new {
		position: absolute;
		top: -45px;
		left: 10px;
		width: 90px;
		height: 90px;
	}

	.various__newText {
		bottom: 20px;
		font-size: 17px;
	}
}

/* master
------------------------*/
.master {
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 768px;
	padding: 100px 0;
}

.master__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.master__bg img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.master__inner {
	position: relative;
	max-width: var(--contents-width);
	width: 100%;
	margin: 0 auto;
}

.master__title {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Playfair Display";
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 0.06em;
	line-height: 1;
	color: #fff;
	margin: 0 auto 15px;
	transition: transform 0.3s;
}

.master__title img {
	width: 248px;
}

.master__title.s_zoom {
	transform: scale(1.198) translateY(20%);
}

.master__movie {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

.master__movieInner {
	position: relative;
	width: 100%;
}

.master__movieLabel {
	position: absolute;
	left: 30px;
	bottom: calc(100% - 65px);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 130px;
	height: 130px;
	border-radius: 50%;
	background-color: var(--base-color);
	text-align: center;
	z-index: 1;
}

.master__movieLabelStep {
	font-weight: 500;
	font-size: 20px;
	letter-spacing: 0.08em;
	line-height: 1;
	margin-top: -0.3em;
}

.master__movieLabelNum {
	font-family: "Playfair Display";
	font-weight: 500;
	font-size: 67px;
	letter-spacing: 0.08em;
	line-height: 0.6;
}

.master__movieVideo {
	overflow: hidden;
	cursor: pointer;
}

.master__movie video {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.master__movieCaption {
	position: absolute;
	top: calc(100% + 26px);
	left: 0;
	width: 100%;
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 0.08em;
	line-height: 1.333;
	text-align: center;
	color: #fff;
}

.master__movieCategory {
	position: absolute;
	bottom: -72px;
	right: 0;
	color: #bcbcbc;
	font-family: 'Playfair Display', serif;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1;
}

.master .m_slide {
	width: 1006px;
}

.master .m_slide::before {
	right: calc(100% - 23px);
}

.master .m_slide::after {
	left: calc(100% - 23px);
}

.master .m_slide__item {
	padding: 0 23px;
}

.master .m_slide__visual,
.master .m_slide__btn {
	height: 505px;
}

.master .m_slide__leftBtn {
	left: -21px;
}

.master .m_slide__rightBtn {
	right: -21px;
}

.master .m_slide__nav {
	margin-top: 75px;
}

.master .m_slider__curMark>li {
	border-color: #BCBCBC;
}

.master .m_slider__curMark>li.s_current {
	background-color: #BCBCBC;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.master {
		min-height: 75vw;
		padding: 9.766vw 0;
	}

	.master__title {
		font-size: 3.125vw;
		margin: 0 auto 1.465vw;
	}

	.master__title img {
		width: 24.219vw;
	}

	.master__movieLabel {
		left: 2.93vw;
		bottom: calc(100% - 6.348vw);
		width: 12.695vw;
		height: 12.695vw;
	}

	.master__movieLabelStep {
		font-size: 1.953vw;
	}

	.master__movieLabelNum {
		font-size: 6.543vw;
	}

	.master__movieCaption {
		top: calc(100% + 2.539vw);
		font-size: 1.758vw;
	}

	.master__movieCategory {
		bottom: -7.0313vw;
		font-size: 2.93vw;
	}

	.master .m_slide {
		width: 98.242vw;
	}

	.master .m_slide::before {
		right: calc(100% - 2.246vw);
	}

	.master .m_slide::after {
		left: calc(100% - 2.246vw);
	}

	.master .m_slide__item {
		padding: 0 2.246vw;
	}

	.master .m_slide__visual,
	.master .m_slide__btn {
		height: 49.316vw;
	}

	.master .m_slide__leftBtn {
		left: 0;
	}

	.master .m_slide__rightBtn {
		right: 0;
	}

	.master .m_slide__nav {
		margin-top: 7.324vw;
	}
}

@media screen and (max-width: 767px) {
	.master {
		min-height: 667px;
		padding: 50px 0;
	}

	.master__title {
		font-size: 18px;
		margin-bottom: 11px;
	}

	.master__title img {
		width: 114px;
	}

	.master__title.s_zoom {
		transform: scale(1.555) translateY(50px);
	}

	.master__movieLabel {
		left: 10px;
		bottom: calc(100% - 45px);
		width: 90px;
		height: 90px;
	}

	.master__movieLabelStep {
		font-size: 14px;
	}

	.master__movieLabelNum {
		font-size: 46px;
	}

	.master__movieCaption {
		top: calc(100% + 15px);
		font-size: 13px;
		line-height: 1.923;
	}

	.master__movieCategory {
		position: absolute;
		bottom: -23px;
		right: 0;
		font-size: 22px;
	}

	.master .m_slide {
		width: 309px;
	}

	.master .m_slide::before {
		right: calc(100% - 12px);
	}

	.master .m_slide::after {
		left: calc(100% - 12px);
	}

	.master .m_slide__item {
		padding: 0 12px;
	}

	.master .m_slide__visual,
	.master .m_slide__btn {
		height: 543px;
	}

	.master .m_slide__nav {
		position: absolute;
		left: 8px;
		bottom: -19px;
		margin-top: 0;
	}

	.master .m_media {
		height: 100%;
	}

	.master .m_media__btn {
		bottom: 30px;
	}
}

/* variousScenes00
------------------------*/
.variousScenes00 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 768px;
}

.variousScenes00__inner {
	max-width: var(--contents-width);
	width: 100%;
	margin: 0 auto;
}

.variousScenes00__title {
	font-family: 'Playfair Display', serif;
	font-size: 38px;
	font-weight: bold;
	letter-spacing: 0.06em;
	line-height: 1.5;
	text-align: center;
	color: #000;
}

.variousScenes00__comingSoon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 216px;
	height: 216px;
	background-color: var(--base-color);
	border: 2px solid #000;
	border-radius: 50%;
	font-family: "Playfair Display";
	font-size: 37px;
	font-weight: bold;
	line-height: 1.297;
	text-align: center;
	color: #000;
	margin: 40px auto;
}

.variousScenes00__text {
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 2;
	text-align: center;
	color: #000;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.variousScenes00 {
		min-height: 75vw;
	}

	.variousScenes00__title {
		font-size: 3.711vw;
	}

	.variousScenes00__comingSoon {
		width: 21.094vw;
		height: 21.094vw;
		border-width: 1px;
		font-size: 3.613vw;
		margin: 3.906vw auto;
	}

	.variousScenes00__text {
		font-size: 1.563vw;
	}
}

@media screen and (max-width: 767px) {
	.variousScenes00 {
		min-height: 667px;
	}

	.variousScenes00__title {
		font-size: 25px;
		line-height: 1.54;
	}

	.variousScenes00__comingSoon {
		width: 145px;
		height: 145px;
		border-width: 1px;
		font-size: 25px;
		line-height: 1.3;
		margin: 30px auto 25px;
	}

	.variousScenes00__text {
		font-size: 13px;
		line-height: 1.923;
	}
}

/* touchtry
------------------------*/
[data-id="Touchtry"] {
	margin-top: 100px;
}

.touchtry {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 768px;
	padding: 0 30px 100px;
}

.touchtry__inner {
	max-width: var(--contents-width);
	width: 100%;
	margin: 0 auto;
}

.touchtry__title {
	width: 404px;
	margin: 0 auto;
	margin-bottom: 36px;
}

.touchtry__image {
	position: relative;
	max-width: 840px;
	margin: 0 auto;
}

.touchtry__imagePerson {
	position: absolute;
	top: calc(-150px / 2);
	right: 30px;
	width: 150px;
	height: 150px;
}

.touchtry .m_box {
	padding: 40px 92px;
}

.touchtry__imageHead {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	background-color: #000;
	font-weight: bold;
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 1.5;
	text-align: center;
	color: var(--base-color);
}

.touchtry__text {
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 1.5;
	text-align: center;
	color: #000;
	margin-top: 14px;
}

.touchtry__note {
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.08em;
	line-height: 1.416;
	text-align: center;
	margin-top: 4px;
}

.touchtry__btn {
	max-width: 628px;
	margin: 17px auto 0;
}

.touchtry__btnCol {
	display: flex;
	margin-right: -20px;
}

.touchtry__btnColItem {
	width: 50%;
	padding-right: 20px;
}

.touchtry__btn1Col {
	max-width: 294px;
	margin: 20px auto 0;
}

.touchtry__btn .m_btn {
	width: 100%;
	height: 54px;
}

.touchtry__btnCol .m_btn {
	font-size: 12px;
	letter-spacing: 0.08em;
	line-height: 1.3;
}

.touchtry__btn1Col .m_btn {
	font-size: 14px;
	letter-spacing: 0.16em;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	[data-id="Touchtry"] {
		margin-top: 9.766vw;
	}

	.touchtry {
		min-height: 75vw;
		padding: 0 2.93vw 9.766vw;
	}

	.touchtry__title {
		width: 39.453vw;
		margin: 0 auto;
		margin-bottom: 3.516vw;
	}

	.touchtry__image {
		max-width: 82.031vw;
	}

	.touchtry__imagePerson {
		position: absolute;
		top: calc(-14.648vw / 2);
		right: 2.93vw;
		width: 14.648vw;
		height: 14.648vw;
	}

	.touchtry .m_box {
		padding: 3.906vw 8.984vw;
	}

	.touchtry__imageHead {
		height: 3.906vw;
		font-size: 1.563vw;
	}

	.touchtry__text {
		font-size: 1.563vw;
		margin-top: 1.367vw;
	}

	.touchtry__note {
		font-size: 1.172vw;
		margin-top: 0.391vw;
	}

	.touchtry__btn {
		max-width: 61.328vw;
		margin: 1.660vw auto 0;
	}

	.touchtry__btnCol {
		margin-right: -1.953vw;
	}

	.touchtry__btnColItem {
		padding-right: 1.953vw;
	}

	.touchtry__btn1Col {
		max-width: 28.711vw;
		margin: 1.953vw auto 0;
	}

	.touchtry__btn .m_btn {
		height: 5.273vw;
	}

	.touchtry__btnCol .m_btn {
		font-size: 1.172vw;
	}

	.touchtry__btn1Col .m_btn {
		font-size: 1.367vw;
	}
}

@media screen and (max-width: 767px) {
	[data-id="Touchtry"] {
		margin-top: 50px;
	}

	.touchtry {
		min-height: 667px;
		padding: 0 10px 50px;
	}

	.touchtry__title {
		width: 180px;
		margin-bottom: 18px;
		margin-left: 10px;
	}

	.touchtry__image {
		max-width: 335px;
	}

	.touchtry__imagePerson {
		top: -79px;
		right: 5px;
		width: 111px;
		height: 111px;
	}

	.touchtry .m_box {
		padding: 25px 10px 40px;
	}

	.touchtry__imageHead {
		justify-content: flex-start;
		height: 32px;
		font-size: 11px;
		padding-left: 13px;
	}

	.touchtry__text {
		font-size: 12px;
		line-height: 1.923;
		margin-top: 20px;
	}

	.touchtry__note {
		font-size: 10px;
		margin-top: 10px;
	}

	.touchtry__btn {
		max-width: 300px;
		margin-top: 18px;
	}

	.touchtry__btnCol {
		margin-right: -9px;
	}

	.touchtry__btnColItem {
		padding-right: 9px;
	}

	.touchtry__btn1Col {
		max-width: 245px;
	}

	.touchtry__btn .m_btn {
		width: 100%;
		height: 50px;
	}

	.touchtry__btnCol .m_btn {
		font-size: 10px;
	}

	.touchtry__btn1Col .m_btn {
		height: 45px;
		font-size: 10px;
	}
}

/* product
------------------------*/
.product {
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 768px;
	padding: 100px 0;
}

.product__inner {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.product .m_slide {
	width: 1070px;
}

.product .m_slide::before {
	right: calc(100% - 23px);
}

.product .m_slide::after {
	left: calc(100% - 23px);
}

.product .m_slide__item {
	padding: 0 23px;
}

.product .m_slide,
.product .m_slide__visual,
.product .m_slide__btn {
	height: 728px;
}

.product .m_slide__leftBtn {
	left: 11px;
}

.product .m_slide__rightBtn {
	right: 11px;
}

.product .m_slide__nav {
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
}

.product__btn {
	position: absolute;
	bottom: 50px;
	left: 0;
	right: 0;
	max-width: 600px;
	width: 100%;
	margin: 0 auto;
}

.product__btn.s_1col {
	max-width: 290px;
}

.product__btnCol {
	display: flex;
	margin-right: -20px;
}

.product__btnColItem {
	width: 50%;
	padding-right: 20px;
}

.product__btn .m_btn {
	width: 100%;
	height: 50px;
	font-size: 13px;
	letter-spacing: 0.08em;
	line-height: 1.3;
}

@media screen and (min-width: 768px) and (max-width: 1090px) {
	.product {
		min-height: 75vw;
		padding: 9.766vw 0;
	}

	.product .m_slide {
		width: 98.242vw;
	}

	.product .m_slide::before {
		right: calc(100% - 2.246vw);
	}

	.product .m_slide::after {
		left: calc(100% - 2.246vw);
	}

	.product .m_slide__item {
		padding: 0 2.246vw;
	}

	.product .m_slide,
	.product .m_slide__visual,
	.product .m_slide__btn {
		height: 71.094vw;
	}

	.product .m_slide__leftBtn {
		left: 1.074vw;
	}

	.product .m_slide__rightBtn {
		right: 1.074vw;
	}

	.product .m_slide__nav {
		bottom: 0.977vw;
	}

	.product__btn {
		bottom: 4.883vw;
		max-width: 58.594vw;
	}

	.product__btn.s_1col {
		max-width: 28.32vw;
	}

	.product__btnCol {
		margin-right: -1.953vw;
	}

	.product__btnColItem {
		padding-right: 1.953vw;
	}

	.product__btn .m_btn {
		height: 4.883vw;
	}
}

@media screen and (max-width: 767px) {
	.product {
		min-height: 667px;
		padding: 50px 0;
	}

	.product .m_slide {
		width: 379px;
	}

	.product .m_slide::before {
		right: calc(100% - 12px);
	}

	.product .m_slide::after {
		left: calc(100% - 12px);
	}

	.product .m_slide__item {
		padding: 0 12px;
	}

	.product .m_slide,
	.product .m_slide__visual,
	.product .m_slide__btn {
		height: 647px;
	}

	.product .m_slide__leftBtn {
		left: 11px;
	}

	.product .m_slide__rightBtn {
		right: 11px;
	}

	.product__btn {
		bottom: 48px;
		max-width: 245px;
	}

	.product__btn.s_1col {
		max-width: 290px;
	}

	.product__btnCol {
		display: block;
		margin-right: 0;
	}

	.product__btnColItem {
		width: auto;
		padding-right: 0;
	}

	.product__btnColItem+.product__btnColItem {
		margin-top: 13px;
	}

	.product__btn .m_btn {
		height: 42px;
		font-size: 10px;
		letter-spacing: 0.2em;
	}
}

/* productSec01
------------------------*/
.productSec01 {
	padding: 30px 20px 50px;
}

.productSec01__title {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Playfair Display";
	font-size: 40px;
	font-weight: bold;
	letter-spacing: 0.06em;
	line-height: 1;
	color: #000;
	margin: 0 auto 45px;
}

.productSec01__title img {
	width: 248px;
}

.productSec01__image {
	width: 402px;
	margin: 0 auto;
}

.productSec01__text {
	font-size: 18px;
	letter-spacing: 0.08em;
	line-height: 1.777;
	text-align: center;
	color: #000;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.productSec01 {
		padding: 2.93vw 1.953vw 4.883vw;
	}

	.productSec01__title {
		font-size: 3.906vw;
		margin: 0 auto 4.395vw;
	}

	.master__title img {
		width: 24.219vw;
	}

	.productSec01__image {
		width: 39.258vw;
	}

	.productSec01__text {
		font-size: 1.758vw;
	}
}

@media screen and (max-width: 767px) {
	.productSec01 {
		padding: 40px 20px;
	}

	.productSec01__title {
		font-size: 28px;
		margin-bottom: 43px;
	}

	.productSec01__title img {
		width: 174px;
	}

	.productSec01__image {
		width: 270px;
	}

	.productSec01__text {
		font-size: 14px;
		line-height: 1.714;
		margin-top: 30px;
	}
}

/* productSec02
------------------------*/
.productSec02 {
	position: relative;
}

.productSec02__movie {
	position: absolute;
	width: 450px;
}

.productSec02__movieTitle {
	text-align: center;
	font-family: "Playfair Display";
	font-weight: bold;
	font-size: 36px;
	letter-spacing: 0.08em;
	line-height: 1.5;
	color: #000;
	margin-bottom: 10px;
}

.productSec02__movieImage {
	position: relative;
	background-color: #A3A3A3;
	cursor: pointer;
}

.productSec02__movieImage .m_playBtn {
	width: 87px;
	height: 87px;
}

.productSec02__movieImage .m_playBtn>div::before {
	width: 24px;
	height: 24px;
}

/* s_01 */
.productSec02__movie.s_01 {
	top: 124px;
	left: 45px;
}

/* s_02 */
.productSec02__movie.s_02 {
	top: 258px;
	right: 60px;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.productSec02__movie {
		width: 43.945vw;
	}

	.productSec02__movieTitle {
		font-size: 3.516vw;
		margin-bottom: 0.977vw;
	}

	.productSec02__movieImage .m_playBtn {
		width: 8.496vw;
		height: 8.496vw;
	}

	.productSec02__movieImage .m_playBtn>div::before {
		width: 2.344vw;
		height: 2.344vw;
	}

	/* s_01 */
	.productSec02__movie.s_01 {
		top: 12.109vw;
		left: 2.5vw;
	}

	/* s_02 */
	.productSec02__movie.s_02 {
		top: 25.195vw;
		right: 2.5vw;
	}
}

@media screen and (max-width: 767px) {
	.productSec02 {
		position: relative;
		padding: 65px 30px;
	}

	.productSec02__movie {
		position: static;
		width: auto;
	}

	.productSec02__movie+.productSec02__movie {
		margin-top: 40px;
	}

	.productSec02__movieTitle {
		font-size: 25px;
	}

	.productSec02__movieImage .m_playBtn {
		width: 67px;
		height: 67px;
	}

	.productSec02__movieImage .m_playBtn>div::before {
		width: 21px;
		height: 21px;
	}
}

/* productSec03
------------------------*/
.productSec03 {}

.productSec03__colItem01 {
	position: absolute;
	top: 200px;
	left: 58px;
	width: 450px;
}

.productSec03__colItem02 {
	position: absolute;
	top: 160px;
	right: 80px;
	width: 398px;
}

.productSec03__title {
	font-weight: bold;
	font-size: 32px;
	letter-spacing: 0.16em;
	line-height: 1.5625;
	text-align: center;
	color: #000;
	margin-bottom: 40px;
}

.productSec03__text {
	font-weight: 500;
	font-size: 18px;
	letter-spacing: 0.08em;
	line-height: 1.777;
	text-align: center;
	color: #000;
}

.productSec03__logo {
	width: 268px;
	margin: 0 auto 10px;
}

.productSec03__image {}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.productSec03__colItem01 {
		top: 19.531vw;
		left: 3.5vw;
		width: 43.945vw;
	}

	.productSec03__colItem02 {
		top: 15.625vw;
		right: 3.5vw;
		width: 38.867vw;
	}

	.productSec03__title {
		font-size: 3.125vw;
		margin-bottom: 3.906vw;
	}

	.productSec03__text {
		font-size: 1.758vw;
	}

	.productSec03__logo {
		width: 26.172vw;
		margin: 0 auto 0.977vw;
	}
}

@media screen and (max-width: 767px) {
	.productSec03 {
		padding: 40px 25px;
	}

	.productSec03__colItem01 {
		position: static;
		width: auto;
	}

	.productSec03__colItem02 {
		position: static;
		width: auto;
	}

	.productSec03__title {
		font-size: 22px;
		line-height: 1.363;
		margin: 0 -25px 20px;
	}

	.productSec03__text {
		font-size: 13px;
		line-height: 1.923;
		text-align: left;
	}

	.productSec03__logo {
		width: 210px;
		margin-bottom: 12px;
	}

	.productSec03__image {
		margin: 0 -25px;
	}
}

/* productSec04
------------------------*/
.productSec04 {}

.productSec04__colItem01 {
	position: absolute;
	top: 275px;
	left: 180px;
	width: 250px;
}

.productSec04__colItem02 {
	position: absolute;
	top: 70px;
	right: 103px;
	width: 413px;
}

.productSec04__title {
	width: 230px;
	margin: 0 auto;
}

.productSec04__lead {
	font-weight: bold;
	font-size: 44px;
	letter-spacing: 0.06em;
	line-height: 1.363;
	text-align: center;
	color: #000;
	margin-top: -8px;
}

.productSec04__featureItem {
	text-align: center;
}

.productSec04__featureItem+.productSec04__featureItem {
	margin-top: 30px;
}

.productSec04__featureNum {
	margin-bottom: 10px;
}

.productSec04__featureLead {
	font-weight: 500;
	font-size: 22px;
	letter-spacing: 0.08em;
	line-height: 1.363;
}

.productSec04__featureLead.s_fontS {
	font-size: 18px;
}

.productSec04__featureText {
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.08em;
	line-height: 1.428;
	text-align: center;
	margin-top: 9px;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.productSec04__colItem01 {
		top: 26.855vw;
		left: 17.578vw;
		width: 24.414vw;
	}

	.productSec04__colItem02 {
		top: 6.836vw;
		right: 10.059vw;
		width: 40.332vw;
	}

	.productSec04__title {
		width: 18.555vw;
	}

	.productSec04__lead {
		font-size: 4.297vw;
		margin-top: 1.758vw;
	}

	.productSec04__featureItem+.productSec04__featureItem {
		margin-top: 2.93vw;
	}

	.productSec04__featureNum {
		margin-bottom: 0.977vw;
	}

	.productSec04__featureLead {
		font-size: 2.148vw;
	}

	.productSec04__featureLead.s_fontS {
		font-size: 1.758vw;
	}

	.productSec04__featureText {
		font-size: 1.367vw;
		margin-top: 0.879vw;
	}
}

@media screen and (max-width: 767px) {
	.productSec04 {
		padding: 15px 20px;
	}

	.productSec04__colItem01 {
		position: static;
		width: auto;
		margin-bottom: 21px;
	}

	.productSec04__colItem02 {
		position: static;
		width: auto;
	}

	.productSec04__title {
		width: 140px;
	}

	.productSec04__lead {
		font-size: 22px;
	}

	.productSec04__featureItem {
		text-align: center;
	}

	.productSec04__featureItem+.productSec04__featureItem {
		margin-top: 20px;
	}

	.productSec04__featureNum {
		margin: 0 auto 7px;
	}

	.productSec04__featureItem.s_01 .productSec04__featureNum img,
	.productSec04__featureItem.s_02 .productSec04__featureNum img {
		height: 20px;
	}

	.productSec04__featureItem.s_03 .productSec04__featureNum img,
	.productSec04__featureItem.s_04 .productSec04__featureNum img {
		height: 25px;
	}

	.productSec04__featureLead {
		font-size: 17px;
		line-height: 1.471;
	}

	.productSec04__featureText {
		font-size: 12px;
		line-height: 1.5;
		margin-top: 5px;
	}
}

/* productSec05
------------------------*/
.productSec05 {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 110px;
	width: 100%;
	height: 100%;
}

.productSec05 .accessories__colItem {
	width: 50%;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.productSec05 {
		padding: 0 10.742vw;
	}
}

@media screen and (max-width: 767px) {
	.productSec05 {
		display: block;
		padding: 0;
	}

	.productSec05 .accessories__col {
		display: block;
		margin: 0;
	}

	.productSec05 .accessories__colItem {
		width: auto;
		padding: 0;
	}

	.productSec05 .accessories__product {
		border: none;
		padding: 0;
	}

	.productSec05 .accessories__productImage img {
		margin-top: -15px;
	}

	.productSec05 .accessories__productText {
		display: none;
	}

	.productSec05 .accessories__productTitle {
		position: static;
		margin-top: -50px;
	}

	.productSec05 .accessories__productBtn {
		position: static;
	}
}

/* accessories
------------------------*/
.accessories {
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 768px;
	padding: 100px 30px;
}

.accessories__inner {
	position: relative;
	max-width: var(--contents-width);
	width: 100%;
	margin: 0 auto;
}

.accessories__title {
	font-family: "Playfair Display";
	font-weight: bold;
	font-size: 50px;
	letter-spacing: 0.06em;
	line-height: 1.54;
	text-align: center;
	color: #000;
	margin-bottom: 22px;
}

.accessories__col {
	display: flex;
	height: 621px;
	margin-left: -20px;
}

.accessories__colItem {
	width: 33.333%;
	padding-left: 20px;
}

.accessories__product {
	position: relative;
	height: 100%;
	border: 1px solid #707070;
	padding: 20px 20px 0;
}

.accessories__productImage {
	width: 238px;
	margin: 0 auto 10px;
}

.accessories__productTitle {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	font-weight: bold;
	font-size: 20px;
	letter-spacing: 0.2em;
	line-height: 1.3;
	text-align: center;
	color: #000;
	min-height: 4em;
	margin: 0 -20px;
	margin-bottom: 16px;
}

.accessories__productText {
	font-size: 14px;
	letter-spacing: 0.08em;
	line-height: 1.714;
	color: #000;
}

.accessories__productBtn {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 20px;
	max-width: 290px;
	width: 100%;
	margin: 0 auto;
}

.accessories__productBtnItem+.accessories__productBtnItem {
	margin-top: 14px;
}

.accessories__productBtn .m_btn {
	width: 100%;
	height: 50px;
	font-size: 13px;
	letter-spacing: 0.08em;
	line-height: 1.3;
}

.accessories .m_slide {
	width: 422px;
}

.accessories .m_slide::before {
	right: calc(100% - 15px);
}

.accessories .m_slide::after {
	left: calc(100% - 15px);
}

.accessories .m_slide__item {
	padding: 0 15px;
}

.accessories .m_slide__visual,
.accessories .m_slide__btn {
	height: 621px;
}

.accessories .m_slide__leftBtn {
	left: -35px;
}

.accessories .m_slide__rightBtn {
	right: -35px;
}

.accessories .m_slide__nav {
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
	.accessories .m_slider__curMark>li {
		border-color: #BCBCBC;
	}

	.accessories .m_slider__curMark>li.s_current {
		background-color: #BCBCBC;
	}
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.accessories {
		min-height: 75vw;
		padding: 9.766vw 2.93vw;
	}

	.accessories__title {
		font-size: 4.883vw;
		margin-bottom: 2.148vw;
	}

	.accessories__col {
		height: 60.645vw;
		margin-left: -1.953vw;
	}

	.accessories__colItem {
		margin-bottom: 0.977vw;
		padding-left: 1.953vw;
	}

	.accessories__product {
		padding: 1.953vw 1.953vw 0;
	}

	.accessories__productImage {
		width: 23.242vw;
		margin: 0 auto 1.953vw;
	}

	.accessories__productTitle {
		font-size: 1.953vw;
		margin: 0 -1.953vw;
		margin-bottom: 1.563vw;
	}

	.accessories__productText {
		font-size: 1.367vw;
	}

	.accessories__productBtn {
		bottom: 1.953vw;
		max-width: 28.32vw;
	}

	.accessories__productBtnItem+.accessories__productBtnItem {
		margin-top: 1.367vw;
	}

	.accessories__productBtn .m_btn {
		height: 4.883vw;
		font-size: 1.27vw;
	}

	.accessories .m_slide {
		width: 41.211vw;
	}

	.accessories .m_slide::before {
		right: calc(100% - 1.465vw);
	}

	.accessories .m_slide::after {
		left: calc(100% - 1.465vw);
	}

	.accessories .m_slide__item {
		padding: 0 1.465vw;
	}

	.accessories .m_slide__visual,
	.accessories .m_slide__btn {
		height: 60.645vw;
	}

	.accessories .m_slide__leftBtn {
		left: -3.418vw;
	}

	.accessories .m_slide__rightBtn {
		right: -3.418vw;
	}

	.accessories .m_slide__nav {
		bottom: 0.977vw;
	}
}

@media screen and (max-width: 767px) {
	.accessories {
		min-height: 667px;
		padding: 50px 10px;
	}

	.accessories__title {
		font-size: 30px;
		line-height: 1.2833;
		margin-bottom: 26px;
	}

	.accessories__product {
		padding: 32px 20px 0;
	}

	.accessories__productImage {
		width: 191px;
		margin-bottom: 0;
	}

	.accessories__productTitle {
		font-size: 18px;
		letter-spacing: 0.08em;
		line-height: 1.389;
		margin-bottom: 13px;
	}

	.accessories__productText {
		font-size: 11px;
		line-height: 1.818;
	}

	.accessories__productBtn {
		max-width: 245px;
		margin-top: 0;
		position: absolute;
		bottom: 30px;
		left: 0;
		right: 0;
		width: 100%;
	}

	.accessories__productBtnItem+.accessories__productBtnItem {
		margin-top: 13px;
	}

	.accessories__productBtn .m_btn {
		width: 100%;
		height: 42px;
		font-size: 10px;
		letter-spacing: 0.2em;
	}

	.accessories .m_slide {
		width: 315px;
	}

	.accessories .m_slide::before {
		right: calc(100% - 15px);
	}

	.accessories .m_slide::after {
		left: calc(100% - 15px);
	}

	.accessories .m_slide__item {
		padding: 0 15px;
	}

	.accessories .m_slide__visual,
	.accessories .m_slide__btn {
		height: 538px;
	}

	.accessories .m_slide__leftBtn {
		left: -21px;
	}

	.accessories .m_slide__rightBtn {
		right: -21px;
	}

	.accessories .m_slide__nav {
		top: calc(100% + 13px);
	}
}

/* pickup
------------------------*/
.pickup {
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 100px 30px;
}

.pickup__inner {
	position: relative;
	max-width: var(--contents-width);
	width: 100%;
	margin: 0 auto;
}

.pickup__title {
	font-family: "Playfair Display";
	font-weight: bold;
	font-size: 50px;
	letter-spacing: 0.06em;
	line-height: 1.54;
	text-align: center;
	color: #000;
	margin-bottom: 28px;
}

.pickup__col {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 -20px -20px;
}

.pickup__colItem {
	width: 33.333%;
	padding: 0 0 20px 20px;
}

.pickup__card {
	display: block;
	text-decoration: underline;
}

.pickup__card+.pickup__card {
	margin-top: 20px;
}

.pickup__cardContents {
	padding-top: 7px;
	color: #333;
	line-height: 1.5;
}

.pickup__cardTitle {
	font-weight: bold;
	font-size: 15px;
}

.pickup__cardText {
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.16em;
}

/* s_posCenter */
.pickup__col.s_posCenter {
	justify-content: center;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.pickup {
		padding: 9.766vw 2.93vw;
	}

	.pickup__title {
		font-size: 4.883vw;
		margin-bottom: 2.734vw;
	}

	.pickup__col {
		margin: 0 0 -1.953vw -1.953vw;
	}

	.pickup__colItem {
		padding: 0 0 1.953vw 1.953vw;
	}

	.pickup__card+.pickup__card {
		margin-top: 1.953vw;
	}

	.pickup__cardContents {
		margin-top: 0.684vw;
	}

	.pickup__cardTitle {
		font-size: 1.465vw;
	}
}

@media screen and (max-width: 767px) {
	.pickup {
		padding: 50px 10px;
	}

	.pickup__title {
		font-size: 30px;
		line-height: 1.283;
		margin-bottom: 35px;
	}

	.pickup__col {
		display: block;
		max-width: 500px;
		margin: 0 auto
	}

	.pickup__colItem {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.pickup__colItem+.pickup__colItem {
		margin-top: 20px;
	}

	.pickup__cardTitle {
		font-size: 14px;
	}

	.pickup__cardText {
		font-size: 11px;
	}

	.pickup__cardContents {
		padding-top: 5px;
	}
}

/* other
------------------------*/
.other {
	position: relative;
	padding: 40px 20px 30px;
}

.other__inner {
	position: relative;
	max-width: var(--contents-width);
	width: 100%;
	margin: 0 auto;
}

.other__note {
	font-size: 14px;
	letter-spacing: 0.16em;
	line-height: 1.714;
	color: #000;
}

.other__sns {
	display: flex;
	justify-content: center;
	margin: 60px -14px 0;
}

.other__snsItem {
	padding: 0 14px;
}

.other__spec {
	margin-top: 60px;
	text-align: center;
}

.other__specLink {
	text-decoration: underline;
	font-size: 14px;
	line-height: 1.857;
	text-align: center;
	color: #000;
	cursor: pointer;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.other {
		padding: 3.906vw 1.953vw 2.93vw;
	}

	.other__note {
		font-size: 1.367vw;
	}

	.other__sns {
		margin: 5.859vw -1.367vw 0;
	}

	.other__snsItem {
		padding: 0 1.367vw;
	}

	.other__spec {
		margin-top: 5.859vw;
	}

	.other__specLink {
		font-size: 1.367vw;
	}
}

@media screen and (max-width: 767px) {
	.other {
		padding: 30px 20px 15px;
	}

	.other__note {
		font-size: 10px;
		line-height: 1.6;
	}

	.other__sns {
		margin: 40px -12px 0;
	}

	.other__snsItem {
		padding: 0 12px;
	}

	.other__snsItem img {
		height: 35px;
	}

	.other__spec {
		margin-top: 40px;
	}

	.other__specLink {
		font-size: 10px;
		line-height: 1.3;
	}
}

/* footer
------------------------*/
.footer {
	border-top: 1px solid #707070;
	padding: 30px 20px;
}

.footer__copyright {
	font-size: 12px;
	line-height: 1.5;
	text-align: center;
	color: #000;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.footer {
		padding: 2.93vw 1.953vw;
	}

	.footer__copyright {
		font-size: 1.172vw;
	}
}

@media screen and (max-width: 767px) {
	.footer {
		padding: 15px 20px;
	}

	.footer__copyright {
		font-size: 10px;
		line-height: 1.3;
	}
}

/* fixBanner
------------------------*/
.fixBanner {
	display: none;
	position: fixed;
	right: 0;
	bottom: 30px;
	z-index: 10;
	pointer-events: none;
	transition: transform 0.3s;
}

.fixBanner.s_show {
	display: block;
	pointer-events: auto;
}

.fixBanner__inner {
	position: relative;
}

.fixBanner__openBtn {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.fixBanner__closeBtn {
	position: absolute;
	top: -22px;
	right: 4px;
	width: 20px;
	height: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

.fixBanner__closeBtn img {
	width: 15px;
	height: 15px;
}

.fixBanner__item+.fixBanner__item {
	margin-top: 4px;
}

.fixBanner__link {
	overflow: hidden;
	display: block;
	width: 100px;
	box-shadow: 0px 0px 6px rgb(0 0 0 / 16%);
	border-radius: 5px 0 0 5px;
}

/* s_open */
.fixBanner.s_open {
	transform: translateX(calc(100% - 20px));
}

.fixBanner.s_open .fixBanner__openBtn {
	pointer-events: auto;
	cursor: pointer;
}

@media screen and (max-width: 767px) {
	.fixBanner__link {
		width: 60px;
	}

	.fixBanner__closeBtn img {
		width: 17px;
		height: 15px;
	}
}
