@charset "utf-8";
/* CSS Document */


/* ------------------------------
common
------------------------------ */
html,
body {
	overflow-x: hidden;
}

#contents {
	font-family: 'Noto Sans JP', sans-serif;
	padding-top: 0!important;
}

img {
	max-width: 100%;
}

ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.section_ttl {
	margin-bottom: 60px;
	text-align: center;
	font-size: 24px;
}

.section_ttl .en {
	margin-bottom: 10px;
	display: block;
	color: #d2d5d7;
	font-size: 66px;
	font-style: italic;
	font-weight: bold;
	line-height: 1;
}

h3 {text-align: center;}

.flex_box {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: nowrap;
}

#footer .flex_box {
	flex-wrap: wrap;
}

.reverse {
	flex-direction: row-reverse;
}

.lead {
	text-align: center;
}

.mv img {
	max-width: 100%;
	height: auto;
}


#effect1 {
	position: relative;
	left: 50px;
	bottom: 0;
	opacity: 0;
	transition: 0.8s;
}

#effect2 {
	position: relative;
	right: 50px;
	bottom: 0;
	opacity: 0;
	transition: 0.8s;
	transition-delay:0.4s;
}

.btn {
	text-align: center;
}

.btn a {
	border: 1px solid #fff;
	padding: 8px 15px;
	box-sizing: border-box;
	border-radius: 4px;
	transition: 0.4s;
}

.btn a:link,
.btn a:visited {
	color: #fff;
}

.btn a:hover {
	background: #fff;
	text-decoration: none;
	color: #354350;
}

.tag {
	border: 1px solid #fff;
	padding: 0 8px;
}

.tag + .tag {
	margin-left: 10px;
}

@media screen and (max-width: 490px) {
	.section_ttl {
		font-size: 20px;
	}
	
	.section_ttl .en {
		font-size: 46px;
	}
	
	.pc {
		display: none;
	}
	
}


/* ------------------------------
mv_area
------------------------------ */
.mv {
	position: relative;
	overflow-y: hidden;
	padding: 80px 0 40px;
	height: 80vh;
	background: url("../img/img_mv_pc.png?date=20211117") no-repeat center center;
	background-size: cover;
}

.mv .mask {
	height: 100%;
}

.mv .inr {
	position: relative;
	height: 100%;
}

.mv .main_copy {
	position: absolute;
	z-index: 1;
	color: #fff;
	text-align: center;
	top: 15%;
	left: 10%;
}

.mv .main_copy h1 {
	font-size: 20px;
	line-height: 2;
	font-style: italic;
}

.mv .main_copy h2 {
	margin: 40px 0;
} 

.mv .main_copy .flex_box {
	justify-content: center;
}

.mv .main_copy .ruby {
	font-size: 14px;
	font-weight: normal;
	display: block;
	margin-top: 10px;
}

_::-webkit-full-page-media, _:future, :root .copy h2 {
	font-size: 1.7em;
}


.copy h2 .small {
	font-size: 0.7em;
}

.copy p {
	margin-bottom: 50px;
}

/*.scene .inr {
	height: 400px;
	position: relative;
}*/

.movie_wrap {
	width: 80%;
	margin: 0 auto 60px;
}

.movie_wrap p {
	margin-top: 30px;
}

.movie_viewer {
	position: relative;
	width: 100%;
	height: auto;
	padding-top: 56.25%;
}

.movie_viewer iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

@media screen and (min-width: 1921px) {
}

@media screen and (min-width: 769px) and (max-width: 970px) {
} 

@media screen and (max-width: 768px) {
	.mv {
		background: url("../img/img_mv_sp.png") no-repeat center center;
		background-size: cover;
	}
	
	.mv .main_copy {
		position: static;
		margin-top: 60px;
	}
	
	.mv .flex_box {
		position: absolute;
		bottom: 12%;
		left: 25%;
	}
}

@media screen and (max-width: 490px) {
	.mv .main_copy {
		margin-top: 40px;
	}
	
	.mv .main_copy h1 {
		font-size: 14px;
	}
	
	.mv .main_copy h2 {
		margin: 20px auto;
		width: 70%;
	}
	
	.mv .flex_box {
		bottom: 15%;
		left: 8%;
	}
	
	.mv .tag {
		font-size: 12px;
	}
	
	.movie_wrap {
		width: 100%;
	}
}

@media screen and (max-width:320px) {
}


/* ------------------------------
overview
------------------------------ */
.overview {
	background: #626A71;
	color: #fff;
	padding-bottom: 60px;
}

.overview h2 {
	font-size: 28px;
	text-align: center;
	margin-bottom: 40px;
}

.overview h2 .small {
	font-size: 0.6em;
	display: block;
}

.overview .copy {
	text-align: center;
	margin-bottom: 40px;
}

.anchor_list {
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 60px;
}

.anchor_list li {
	width: 33.33%;
	text-align: center;
	margin-bottom: 20px;
}

.anchor_list li a:link,
.anchor_list li a:visited {
	color: #fff;
}

.anchor_list li p {
	margin-top: 0;
}

.icon_anchor {
	position: relative;
	width: 10px;
	height: 10px;
	display: inline-block;
	vertical-align: text-top;
	margin-right: 10px;
}

.icon_anchor:before,
.icon_anchor:after {
	position: absolute;
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
}
.icon_anchor:before {
	top: 0;
	left: 0;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}
.icon_anchor:after {
	bottom: -5px;
	left: -3px;
	border-bottom: 1px solid #fff;
	width: 17px;
}

@media screen and (max-width: 490px) {
	.overview h2 {
		font-size: 20px;
		margin-bottom: 20px;
	}
	
	.overview h2 .small {
		font-size: 0.8em;
	}
	
	.anchor_list {
		display: none;
	}
}


/* ------------------------------
feature
------------------------------ */
.feature {
	padding-top: 160px !important;
	padding-bottom: 120px;
	background: #626A71;
	border-top: 1px dashed #fff;
}

.feature_item {
	margin-bottom: 160px;
}

.feature_ttl {
	text-align: left;
	font-size: 28px;
	border-bottom: 1px solid #fff;
	padding: 30px 0;
	margin-bottom: 30px;
}

@supports (-ms-ime-align: auto) {
	.feature_ttl {
		font-size: 19px;
	}	
}


.feature .img {
	width: 50%;
	transition: 0.8s;
}

.feature .text {
	position: relative;
	max-width: 20%;
	color: #fff;
	margin-left: -40px;
	margin-top: -40px;
}

.feature .reverse .text {
	margin-right: 40px;
}

.feature_item .btn {
	text-align: left;
}

.feature_item:last-child {
	margin-bottom: 0;
}


@media screen and (max-width: 768px){
	.feature_item {
		flex-wrap: wrap;
	}
	
	.feature .img {
		width: 98%;
	}
	
	.feature .text {
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 20px;
		box-sizing: border-box;
	}
	
	.feature .reverse .text {
		margin: 0;
	}
}

@media screen and (max-width: 490px) {
	.feature {
		padding-top: 60px !important;
		padding-bottom: 60px;
	}
	
	.feature_ttl {
		padding: 15px 0;
		margin-bottom: 15px;
		font-size: 18px;
	}
	
	.feature_item {
		margin-bottom: 30px;
	}
	
	.feature .img {
		width: 95%;
	}
		
	.feature .text,
	.feature .reverse .text {
		margin-top: -70px;
	}
	
	.feature .reverse {
		flex-direction: column;
	}
	
	.feature_item .tag {
		font-size: 12px;
	}
}

@media screen and (max-width: 320px) {
}


/* ------------------------------
app
------------------------------ */
.app {
}

.app h3 .en {
	display: block;
	font-size: 48px;
}

.screen_img {
	margin-top: 60px;
	justify-content: space-between;
}

.screen_img li {
	width: calc(50% - 10px)
}

.screen_img li .caption {
	font-size: 20px;
	color: #5d6970;
	font-weight: bold;
	text-align: center;
}

.screen_img li img {
	max-width: 100%;
	height: auto;
	box-shadow: 0px 0px 20px 3px rgba(0,0,0,0.3);
}

.tab_item {
	display: none;
	margin-top: 40px;
	text-align: center;
}

.tab_item.show {
	display: block;
}

.tab_btns {
	border-bottom: 1px solid #d2d5d7;
	margin: 60px 0 40px;
	justify-content: center;
}

.tab_btns li {
	width: 40.33%;
	margin-bottom: -1px;
}

.tab_btns a {
	display: block;
	background: auto;
	border: 1px solid #d2d5d7;
	padding: 10px 0;
	transition: 0.4s;
	text-align: center;
}

.tab_btns a:link,
.tab_btns a:visited {
	color: #a4abb0;
}

.tab_btns a:hover,
.tab_btns a.active {
	background: #d2d5d7;
	color: #000;
	text-decoration: none;
	font-weight: bold;
}

.player {
	margin: auto;
	position: relative;
	width: 100%;
	text-align: center;
}

.bg_pc {
	position: absolute;
	width: 100%;
}

.bg_sp {
	position: absolute;
	width: 100%;
}

.bg_pc img,
.bg_sp img {
	max-width: 100%;
	height: auto;
}

.caption {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	margin-top: 40px;
}

.player video {
	position: relative;
	width: 71.20%;
	height: auto;
	margin-top: 1.3%;
	display: inline-block;
	z-index: 1;
	border-radius: 20px;
}

.ui_sp .player video {
	width: 57.3%;
	margin-top: 6%;
	border-radius: 0;
}

.tab_item .slick-arrow:after {
	border-bottom: 2px solid #4ea0e6;
    border-right: 2px solid #4ea0e6;
}

.tab_item .slick-prev,
.tab_item .slick-next{
	top: calc(50% - 100px / 2);
}

.tab_item .slick-dots button {
	width: 12px;
	height: 12px;
	border-radius: 6px;
	transform: none;
}

video:hover {
	cursor: pointer;
}

@media screen and (min-width: 1921px) {
	.app {background-size: cover;}
}

@media screen and (min-width: 769px) and (max-width: 970px) {
	.app {
		background-size: 185%;
	}
}

@media screen and (max-width: 768px) {
	.app {
		background-size: 185%;
	}
	
	.player video {
		border-radius: 13px;
	}
}

@media screen and (max-width: 490px) {
	.app .section_ttl {
		top: -25px;
	}
	
	.screen_img {
		flex-direction: column;
		margin-top: 20px;
	}
	
	.screen_img li {
		width: 100%;
		margin-bottom: 20px;
	}
	
	.player video {
		border-radius: 8px;
	}
	
	.tab_btns li {
		width: 42.33%;
	}
	
	.tab_btns a {
		font-size: 13px;
	}
}


/* ------------------------------
page_slide
------------------------------ */
.page_slide {
	padding: 0!important;
	margin: 120px 0;
}

.page_slide h3 {
	font-size: 20px;
	margin-bottom: 30px;
}

.page_slide h4 {
	font-size: 24px;
}

.page_slide .flex_box {
	justify-content: space-between;
	align-items: center;
}

.page_slide dt {
	width: calc(50% - 15px);
}

.page_slide dd {
	width: calc(50% - 15px);
}

.page_slide img {
	max-width: 100%;
	height: auto;
}

.page_slide .slick-list {
	position: relative;
	background: #fff;
	box-shadow: 0px 0px 20px 3px rgba(0,0,0,0.3);
}

.page_slide .slick-list li {
	padding: 20px;	
	background: #E2E2E2;
	box-sizing: border-box;
}

.slide_set h4 {
	font-size: 28px;
	margin: 40px 0;
}

.slide_set p {
	margin-top: 0;
}

.page_slide .slick-track {
	background: #E2E2E2;
}

.slick-arrow {
	position: absolute;
	z-index: 9;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
	background: none;
	font-size: 0;
	border: -0px;
	outline: none;
}

.slick-arrow:after {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	border-top: 0;
	border-left: 0;
	border-bottom: 2px solid #4ea0e6;
	border-right: 2px solid #4ea0e6;
}

.slick-prev {
	top: calc(50% - 30px / 2);
	left: -42px;
}

.slick-prev:after {
	transform: rotate(135deg);
}

.slick-next {
	top: calc(50% - 30px / 2);
	right: -42px;
}

.slick-next:after {
	transform: rotate(-45deg);
}

.slick-dots {
	text-align: center;
	margin-top: 20px;
}

.slick-dots li {
	display: inline-block;
}

.slick-dots li + li {
	margin-left: 15px;
}

.slick-dots button {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
	font-size: 0;
	border: 0;
	padding: 0;
	line-height: 0;
	background: #ccc;
	width: 17px;
	height: 17px;
	border-radius: 9px;
}

.slick-dots .slick-active button {
	background: #000;
}

@media screen and (max-width: 490px) {
	.page_slide {
		margin: 60px auto;
	}
	
	.page_slide .slick-list li {
		padding: 0 20px;
	}
	
	.page_slide h3 {
		font-size: 18px;
	}
	
	.page_slide h4 {
		font-size: 18px;
		margin: 0 auto 20px;
		text-align: center;
	}
	
	.page_slide dt,
	.page_slide dd {
		width: 100%;
	}
	
	.page_slide dt {
		margin-bottom: 20px;
	}
	
	.page_slide dd {
		margin-left: 0;
	}
	
	.page_slide .flex_box {
		flex-direction: column;
	}
	
	.page_slide .slick-arrow {
		display: none!important;
	}
	
	.wrap_g_border {
		padding: 20px;
	}
}


/* ------------------------------
option
------------------------------ */
.option {
	background: #f3f2f0;
	padding: 60px 0!important;
}

.option h3 {
	font-size: 18px;
	color: #1ab0df;
}

.option h4 {
	font-size: 24px;
	text-align: center;
	margin-bottom: 30px;
}

.option .flex_box {
	justify-content: space-between;
	align-items: center;
}

.option .text {
	width: 56%;
	margin-top: -20px;
}

.option .btn {
	position: relative;
	display: block;
	width: 100%;
	padding: 20px;
	margin: 0 auto;
	box-sizing: border-box;
	background: #333;
	border-radius: 36px;
	font-size: 18px;
	line-height: 1.2;
	text-align: center;
	font-weight: bold;
	transition: 0.4s;
	color: #fff;
}

.option .btn:after {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 6px);
	right: 20px;
	width: 10px;
	height: 10px;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(-45deg);
}

@media screen and (max-width: 768px) {
	.option .img {
		width: 40%;
	}
	
	.option .btn {
		font-size: 16px;
	}
}

@media screen and (max-width: 490px) {
	.option .flex_box {
		flex-direction: column-reverse;
	}
	
	.option .text {
		width: 100%;
	}
	
	.option .img {
		width: 100%;
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 320px) {
	.slick-dots button {
		width: 40px;
	}
}


/* ------------------------------
detail
------------------------------ */
.detail_area {
	background: #626A71;
}

.detail_area .shoplink {
	background: #fff;
	color: #354350;
	box-sizing: border-box;
	border: 1px solid #fff;
}

.detail_area .shoplink:hover {
	background: #626A71;
	color: #fff;
}

.btn_line.white:hover {
	color: #354350;
}

.detail_area .icon_cart {
	display: none;
}


/* ------------------------------
bnr_area
------------------------------ */
.bnr_area {
	padding: 30px 0!important;
	margin-top: 30px;
	background: #f1f1f1;
}
.bnr_area a {
	display: block;
	transition: 0.4s;
}
.bnr_area a:hover {
	opacity: 0.7;
}
.bnr_area .flex_box {
	margin: 0;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.bnr_area img {
	max-width: 100%;
	height: auto;
}

.bnr_area figcaption {
	margin-left: 20px;
	width: 62%;
}

@media screen and (min-width: 768px) and (max-width: 970px) {
	.bnr_area figcaption {
		margin: 20px 0 0 0;
		width: 100%;
	}
}

@media screen and (max-width: 768px) {
	.bnr_area figcaption {
		margin: 20px 0 0 0;
		width: 100%;
	}
}

/* ------------------------------
popin_content
------------------------------ */
.popin_content {
	margin-bottom: 60px;
}

.popin_content h4 {
	color: #fff;
	font-size: 28px;
	text-align: center;
}

.popin_content a:hover {
	text-decoration: none;
}

.popin_content a:link,
.popin_content a:visited {
	color: #fff;
}

.popin_content .img {
	margin: 0;
	transition: 0.4s;
}

.popin_content a:hover .img {
	opacity: 0.9;
}

.popin_content .text {
	padding: 20px;
	box-sizing: border-box;
	background: #222;
	color: #eeba26;
	text-align: center;
	transition: 0.4s;
}

.popin_content a:hover .text {
	background: #444;
}

.popin_content .btn_yellow {
	margin-top: 10px;
	width: 320px;
	background: #eeba26;
	color: #222;
	border: 1px solid #eeba26;
}

.popin_content .btn_yellow:after {
	top: calc(50% - 4px);
	background: none;
	width: 8px;
	height: 8px;
	border-bottom: 2px solid #222;
    border-right: 2px solid #222;
    transform: rotate(-45deg);
	transition: 0.4s;
}

.popin_content a:hover .btn_yellow {
	background: #444;
	color: #eeba26;
}

.popin_content a:hover .btn_yellow:after {
	border-color: #eeba26;
}

@media screen and (max-width: 768px) {
	.popin_content .btn_yellow {
		width: 100%;
		box-sizing: border-box;
	}	
}

@media screen and (max-width: 490px) {
	.popin_content {
		margin-bottom: 20px;
	}
	
	.popin_content h4 {
		font-size: 20px;
	}
	
	.popin_content .flex_box {
		flex-wrap: nowrap;
		flex-direction: column;
	}
	
	.popin_content .img {
		width: 100%;
	}
	
	.popin_content .text {
		width: 100%;
	}
}