@charset "utf-8";

/*===================================================================
	main_image
===================================================================*/
#pc_top_main{position: relative;}
#pc_top_main video{ width: 100vw;}
#pc_top_main .main_text{position: absolute; max-width: 408px; top: 50%; left: 31%; transform: translateY(-50%) translateX(-50%); -webkit- transform: translateY(-50%) translateX(-50%);}

#sp_top_main{position: relative;}
#sp_top_main .main_text{position: absolute; max-width: 500px; top: 46%; left: 51%; transform: translateY(-50%) translateX(-50%); -webkit- transform: translateY(-50%) translateX(-50%); z-index: 11;}
#sp_top_main .main_text .sp_play{max-width:60px; margin: 0 auto; padding-top: 50px;}
#sp_top_main .main_text .sp_logo{max-width: 260px; width: 100%;}
#sp_top_main .contents .img_rect{height:calc(100vh - 100px);}

#main_visual_wrap { position:relative; }
.scroll{position: absolute; bottom:40px; left: 50%; transform:translateX(-50%);  width:64px; height:52px; display: block; background: url(../image/layout/icon/scroll.png) no-repeat center center / contain; filter: drop-shadow(0 0 6px rgba(0,0,0,.32));}
@media (max-width:767px) {
	.scroll{ bottom:70px }
}

@media (max-width: 991px){#top_main .main_text{max-width: 340px;}}
@media (max-width: 767px){#top_main .main_text{max-width: 258px;}}
@media (max-width: 575px){#top_main .main_text{max-width: 120px;}}
@media (max-width: 400px){#top_main .main_text{max-width: 110px;}}
.picture_unit_wrap { position:relative; }
.picture_unit .image_1{max-width:624px; margin-right:calc( ( 476/1100 ) * 100%);}
.picture_unit .image_2{max-width:444px; margin-top: calc( ( -280 / 3000 ) * 100%); margin-left: calc( ( 656/1100 ) * 100%);}
.picture_unit .image_3{max-width:258px; margin-top: calc( ( -900 / 3000 ) * 100%); margin-right: calc( ( 634/1100 ) * 100%); margin-left: calc( ( 207/1100 ) * 100%);}
.picture_unit .image_4{max-width:496px; margin-top: calc( ( 120 / 3000 ) * 100%); margin-right: calc( ( 604/1100 ) * 100%);}
.picture_unit .image_5{max-width:444px; margin-top: calc( ( -800 / 3000 ) * 100%); margin-left: calc( ( 603/1100 ) * 100%);}
.picture_unit .image_6{max-width:430px; margin-top: calc( ( 100 / 3000 ) * 100%); margin-right: calc( ( 210/1100 ) * 100%); margin-left: calc( ( 441/1100 ) * 100%);}
.picture_unit .image_7 { position:absolute; width:200px; max-width:16.667%; top:6%; right:7%; }

#main_visual_wrap .main_visual_cont { position:relative; }
#main_visual_wrap .main_visual_cont .main_text { position:absolute; max-width:408px; top:40%; left:31%;  transform:translate(-50%,-50%); z-index:1; filter:drop-shadow(0px 0px 10px black); text-align:center; }
#main_visual_wrap .main_visual_cont .main_text .sub { display:inline-block; font-weight:500; font-size:2.25em; color:#fff; letter-spacing:10px; margin-right:-10px; text-align:center; white-space:nowrap; padding-bottom:80px; font-weight:bold; width:300px; }
#main_visual_wrap .main_visual_cont .main_text .main { width:360px; display:inline-block; }
#main_visual_wrap .main_visual_cont .main_text .sub > img,
#main_visual_wrap .main_visual_cont .main_text .main > img { width:100%; height:auto; }
@media (min-width:768px) {
	#main_visual_wrap .main_visual_cont .main_slide .img_rect { padding-top:min(56%, calc(100vh - 100px)); }
}
@media (max-width:767px) {
	#main_visual_wrap .main_visual_cont .main_text { max-width:400px; top:20%; left:50%; }
	#main_visual_wrap .main_visual_cont .main_text .sub { font-size:1.75em; letter-spacing:5px; margin-right:-5px; padding-bottom:35px; }
	#main_visual_wrap .main_visual_cont .main_text .main { padding-left:10px; padding-right:10px; }
	#main_visual_wrap .main_visual_cont .img_rect { height:0; padding-top:176.033%; }
}
@media (max-width:575px) {
	#main_visual_wrap .main_visual_cont .main_text .sub img { max-width:200px; }
	#main_visual_wrap .main_visual_cont .main_text .main img { max-width:240px; }

}


/*===================================================================
	concept
===================================================================*/
.concept img{object-fit: cover; object-position:right bottom; width: 100%; max-height: 700px;}
.concept .text_1{height:100%; display: flex; flex-direction:column; justify-content: center; line-height : 1.8; max-width: 800px;}
.concept .text_2{height:100%; display: flex; flex-direction:column; justify-content: center; line-height : 1.8; max-width: 800px; margin-left: auto;}

@media (max-width:1199px){
	.concept .text_1{ padding-right: 25px; padding-left: 10px;}
	.concept .text_2{ padding-right: 10px; padding-left: 25px;}
}
@media (min-width:1200px){
	.concept .text_1{ padding-right: 65px; padding-left: 50px;}
	.concept .text_2{ padding-right: 50px; padding-left: 65px;}
}
@media (max-width: 767px){
	.concept .text_1 , .concept .text_2{ padding: 15px;}
}

/*===================================================================
	feature
===================================================================*/
@media (max-width: 575px){
	.feature .unit{padding-bottom: 30px;}
}
/*===================================================================
	evidence
===================================================================*/
@media (max-width: 767px){
	.evidence .unit .graph{padding-top:30px;}
}
/*===================================================================
	items
===================================================================*/

.slick-dots li button:before{color: #D5D5D5; display: block; font-size:40px!important; width: 30px;}
.slick-dots li.slick-active button:before {color: linear-gradient(180deg, rgba(223,0,134,1) 0%, rgba(55,0,96,1) 100%);}
.items .hl_1 .sub{z-index:2;}
.items .limited { font-size:1em; display:inline-block; padding:5px 10px; border:2px solid #C83200; line-height:1.2; color:#C83200; font-weight:bold; }
.items .contents >{object-fit: cover; object-position:right bottom; width: 100%; max-height: 700px;}
.items .number{font-weight:bold; padding-left: 15px;}
.items .text_unit{height:100%; display: flex; flex-direction: column; justify-content: center; margin: 0 0 auto 0; padding-top: 30px; max-width: 800px; line-height:1.6em;}
.items .comingsoon{border: 1px solid #332C2C; max-width: 311px; text-align:center; font-weight:bold; padding: 15px 0; font-size: 1.5em;}
.items .rect_s .img_rect{padding-top: 43%;}
.items .items_unit{padding-bottom: 140px; z-index: 500;}
.items .items_unit._flex { display:flex; flex-wrap:wrap; align-items:center; width:calc(100% + 30px); margin-left: -15px; margin-right: -15px; }
.items .items_unit._flex:nth-child(2n) { flex-direction:row; }
.items .items_unit._flex:nth-child(2n+1) { flex-direction:row-reverse; }
.items .items_unit._flex > * { padding:0 15px; }
.items .items_unit._flex > ._images { width:58.33333333%; }
.items .items_unit._flex > ._text { width:41.66666667%; }
@media(min-width:576px){
	.items .number{font-size: 3.75em;}
}
@media(max-width:575px){
	.items .number{font-size: 2em;}
}
@media(min-width:992px){
	.items .pad_le{padding-left: 45px;}
	.items .items_unit._flex:nth-child(2n+1) ._text { padding-left:45px; }
	.items .text_unit{padding-right: 15px;}
}
@media(max-width:991px){
	.items .items_unit._flex { flex-direction:column!important; }
	.items .items_unit._flex > * { width:100%!important; }
	.items .slide_img{margin-bottom:30px; }
	.items .text_unit{padding: 30px 15px 0 15px;}
}

#items._type2 .img_rect { padding-top:68.543%; }

/*===================================================================
	other
===================================================================*/
.other .text{display: flex; flex-direction: column; justify-content: space-between; padding-top: 15px;}
.other .title{font-size:1.5em; font-weight: bold;}
.other .lanthanum  .row > [class*=col-]{padding-right: 5px; padding-left:5px;}
.other .candle .unit{padding-bottom: 50px;}
.other .candle .img_rect {padding-top:65.714%;}
.other .lanthanum .img_rect{padding-top: 85%;}
.other .lanthanum .img_back{background-size: contain;}
.other.lanthanum .modal.active .img_back{background-size: cover;}
.other.lanthanum .modal.active .img_rect{padding-top:56%;}
@media (max-width: 767px){
	.other .lanthanum .unit{padding-bottom: 50px;}
}

@media (max-width: 991px){
	.other .pad_t{padding-top: 0px;}
}
@media (min-width: 992px){
	.other .pad_t{padding-top: 20px;}
	.other .lanthanum .btn_1{max-width:233px;}
}



/*===================================================================
	voice
===================================================================*/
.voice .unit{border: 2px solid #929292; padding: 30px; box-shadow:5px  5px 0 #929292;  margin-bottom: 30px;}
.voice .unit._left{margin-right: 60px;}
.voice .unit._right{margin-left: 60px;}

@media (max-width:767px) {
	.voice .unit._left{margin-right: 30px;}
	.voice .unit._right{margin-left: 30px;}
}

/*===================================================================
	effect
===================================================================*/
.effect .unit .pad_t{padding-top: 15px;}
.effect .effect_text{height: 100%; display: flex; flex-direction: column; justify-content: center; padding:0 15px 15px 15px; line-height: 2; margin: 0 auto; max-width:700px;}
.effect .slick-dots {bottom: auto;}


/*===================================================================
	cooperation
===================================================================*/
.cooperation {background:#F5F5F5; padding:25px 0;}
.cooperation .flex{display: flex; align-items: center;}
.cooperation .flex img{margin-left: 25px; width: 200px;}

/*===================================================================
	cart_contain
===================================================================*/
#cart_contain{position: fixed; bottom: 0; right: 0; z-index: 9999; background: #fff; 	width: 100%; max-width: 400px;   box-shadow: 0 1px 3px rgb(0 0 0 / 25%); max-height: 70vh;}
#cart_contain .js-summary {text-align: center; background: #2C2E33; padding-right: 25px; position:relative; color: #fff; padding-top: 10px; padding-bottom: 10px; }
#cart_contain .js-container {font-size: 0.9em; padding: 30px; display: block; max-height: calc(70vh - 60px); overflow-x: hidden; overflow-y: scroll;}
.item_box{padding: 10px 0; display: flex; border-bottom: 1px solid #E0E0E0; align-items: center;}
.item_box .img{width: 40px;}
.item_box .text{width: calc(100% - 130px);  padding:0 10px;}
.item_box .text .name { color: #5C5C5C;}
.item_box .num{width: 90px; color: #797979;}
.item_box .num select{width: 70px;}
.item_box .num .delete a{text-decoration: underline;}

#cart_contain .js-container .btn_wrap  .btn{    background-color: #D6002D;}

#cart_contain .js-container .yen .unit{font-size: 0.5em; margin-left: 5px; color: #797979;}
#cart_contain .js-container .total{display: flex; align-items:center; justify-content: space-between; padding: 10px 0;}
#cart_contain .js-container .js-close{text-decoration: underline; color: #797979;}
#cart_contain  .js-summary {cursor: pointer;}
#cart_contain .js-container {display: none;}
#cart_contain  .js-summary:after {content: ""; display: inline-block; width: 20px; height: 20px; background: url(../image/layout/icon/up.png) no-repeat center/ 20px auto; margin-right: 8px; position: absolute; top: 50%; right: 0%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%);}
#cart_contain.open  .js-summary:after {background: url(../image/layout/icon/down.png) no-repeat center/ 20px auto;}

/*===================================================================
	entry
===================================================================*/

.entry a { text-decoration:underline; }
body.pc a:hover { text-decoration:none; }
.entry h2, .entry h3, .entry h4, .entry h5 { font-weight:bold; line-height:120%; }
.entry h2 { margin-bottom:20px; font-size:1.5em; }
.entry h3 { margin-bottom:15px; font-size:1.25em; }
.entry h4 { margin-bottom:10px; font-size:1.15em; }
.entry h5 { margin-bottom:5px; }
.entry * + h2 { margin-top:50px; }
.entry * + h3 { margin-top:40px; }
.entry * + h4 { margin-top:30px; }
.entry * + h5 { margin-top:20px; }
.entry h2 + h3, .entry h3 + h4, .entry h4 + h5 { margin-top:0; }
.entry p + p { margin-top:10px; }
.entry * + ul, .entry * + ol { margin-top:15px; }
.entry ul, .entry ol { list-style:none; list-style-type:none; margin-bottom:20px; }
.entry ul > li, .entry ol > li { position:relative; margin:0 0 5px 20px; word-wrap:anywhere; }
.entry ul > li > ul, .entry ul > li > ol, .entry ol > li > ul, .entry ol > li > ol { margin-top:5px; margin-bottom:5px; }
.entry ol { counter-reset:ol_li; }
.entry ul > li:before { position:absolute; content:"●"; font-size:0.7em; top:0.4em; left:-20px; }
.entry ul > li > ul > li:before { content:"■"; }
.entry ol > li:before { counter-increment:ol_li; content:counter(ol_li)"."; position:absolute; top:0; left:-20px; font-weight:bold; }
.entry * + table, .entry * + .sp_table_wrap { margin-top:15px; }
.entry table { width:100%; margin-bottom:20px; }
.entry table tr > * { vertical-align:middle; }
.entry table th { font-weight:bold; }
.entry table thead th { text-align:center; }
.entry table tbody th { text-align:left; }
	@media (max-width: 575px){
		.entry table { font-size:13px; }
		.entry table tr > * { padding:10px 5px; }
	}
	@media (min-width: 576px) and (max-width: 767px){
		.entry table { font-size:14px; }
		.entry table tr > * { padding:10px; }
	}
	@media (min-width: 768px){
		.entry table tr > * { padding:15px; }
		.entry table tbody th { width:200px; }
	}

.entry h2,
.entry h3,
.entry h4,
.entry h5,
.entry h6 { margin:0; font-size:1em; line-height:1.2; color:#505050; font-weight:500; }

.entry .h2_fck { display:block; text-align:center; padding:10px 15px; border-top:1px solid #000; border-bottom:1px solid #000; margin-bottom:30px; font-size:1.25em; }
.entry .h3_fck,
.entry .h3_fck-2 { display:block; padding-bottom:10px; margin-bottom:30px; position:relative; font-size:1.2em; }
.entry .h3_fck::before { content:""; display:block; position:absolute; width:100%; height:1px; left:0; bottom:0; background:linear-gradient(to right, #656565 55px, #BABABA 55px); }
.entry .h3_fck-2::before { content:""; display:block; position:absolute; width:100%; height:1px; left:0; bottom:0; border-bottom:1px dashed #BABABA; }
.entry .h4_fck { display:flex; white-space:nowrap; align-items:center; justify-content:center; font-size:1.2em; margin-bottom:30px; }
.entry .h4_fck::before,
.entry .h4_fck::after { content:""; height:1px; background:#C9C9C9; display:block; flex-grow:1; }
.entry .h4_fck::before { margin-right:15px; }
.entry .h4_fck::after { margin-left:15px; }
.entry .h5_fck { display:block; background:#F4F3F0; padding:10px 20px; font-size:1.1em; margin-bottom:30px; }
.entry .h6_fck { display:block; padding-left:8px; border-left:3px solid #333333; font-size:1.1em; margin-bottom:30px; }
.entry .h6_fck-2 { display:block; padding-left:30px; font-size:1.1em; margin-bottom:30px; position:relative; }
.entry .h6_fck-2::before { content:""; width:20px; height:20px; background:url(../image/icon/check.png) no-repeat center center / contain; display:block; position:absolute; top:50%; left:0; transform:translateY(-50%); }

.entry h2:not(:first-child),
.entry h3:not(:first-child),
.entry h4:not(:first-child),
.entry h5:not(:first-child),
.entry h6:not(:first-child),
.entry .h2_fck:not(:first-child),
.entry .h3_fck:not(:first-child),
.entry .h3_fck-2:not(:first-child),
.entry .h4_fck:not(:first-child),
.entry .h5_fck:not(:first-child),
.entry .h6_fck:not(:first-child),
.entry .h6_fck-2:not(:first-child) { margin-top:40px; }

.entry a { color:#69BCD0; text-decoration:underline; }
.entry a:hover { text-decoration:none; }
.entry.pos_ac ul > li,
.entry.pos_ac ol > li { margin-left:0; }
.entry.pos_ac ul > li:before,
.entry.pos_ac ol > li:before { position:relative; display:inline-flex; vertical-align:top; height:1.6em; left:auto; margin-right:10px; }
.entry ul > li:before { content:"●"; }
.entry ul > li > ul > li:before { content:"■"; }
.entry ol > li:before { color:; }
.entry ol > li > ol > li:before { color:; }
.entry table thead th { background:; color:; }
.entry table thead td { background:; color:; }
.entry table tbody th { background:; color:; }
.entry table tbody td { background:; color:; }

.entry .all_horizontal { display:flex; }
.entry .all_horizontal > *:not(:last-child) { margin-right:10px; }
.entry .all_horizontal > * { flex:1; }
@media (min-width:768px) {
	.entry .pc_horizontal { display:flex; }
	.entry .pc_horizontal > *:not(:last-child) { margin-right:10px; }
	.entry .pc_horizontal > * { flex:1; }
}
@media (max-width:767px) {
	.entry .sp_horizontal { display:flex; }
	.entry .sp_horizontal > *:not(:last-child) { margin-right:10px; }
	.entry .sp_horizontal > * { flex:1; }
}
