@charset "utf-8";

/* =========================
   共通
========================= */
html,
body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

.sp-br {
	display: block
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

body{
    overflow-x:hidden;
}

img,
video{
    max-width:100%;
    height:auto;
    display:block;
}

.buy,
#buy2,
#official{
    border-radius:999px;
}

/* =========================
   FV
========================= */

#top{
    padding:20vw 8vw;
}

#topcopy1{
    font-size:3.5vw;
    letter-spacing:.3em;
}

#topcopy2{
    font-size:12vw;
}

h1{
    font-size:4.5vw;
    line-height:1.6;
}

#limited{
    font-size:3.5vw;
}

#price{
	font-size: 3vw;
}

.buy{
    font-size:4vw;
    padding:3vw 8vw;
    margin-top:6vw;
}

#arrow-icon{
    width:4vw;
    margin-top:10vw;
}

#underwater-bg{
	width:100%;
	height:100%;
	left:0;
	top:0;
	inset:0;
}

/* =========================
   description01
========================= */

#description01{
    width:auto;
    padding:15vw 6vw 0 6vw;
}

#descriptioncont01{
    flex-direction:column;
}

#abyssaltext{
    width:100%;
    padding-top:0;
    text-align:center;
}

#abyssaltext h2{
    font-size:12vw;
    margin-bottom:8vw;
}

#abyssaltext p{
    font-size:4vw;
    line-height:2;
}

#abyssalimg02{
	position: relative;
    margin-top:10vw;
	z-index: -9999
}

#abyssalimg02 img{
    width:100%;
}

/* =========================
   description02
========================= */

#description02{
    width:auto;
    padding:15vw 6vw;
}

#lighttitle h2{
    font-size:8vw;
    line-height:1.5;
	margin-bottom: 8vw;
}

#lighttext{
    font-size:4vw;
    margin-bottom:8vw;
}

#lightslider{
    width:100%;
}

.slide img{
    width:100%;
}

.slide p{
    font-size:3.5vw;
    margin-top:4vw;
}

.slider-arrow{
    width:10vw;
    height:10vw;
    font-size:5vw;
}

.prev{
    left:-2vw;
}

.next{
    right:-2vw;
}

.dot{
    width:3vw;
    height:3vw;
	margin-right: 1vw;
}

/* =========================
   description03
========================= */

#description03 {
	width: 100%;
}

#aurorawrap{
    width:100%;
    padding:15vw 6vw;
}

#auroracontent{
    flex-direction:column;
}

#auroraimg img{
    width:80%;
	margin: 0 auto;
}

#auroratext{
    width:100%;
    margin:8vw 0 0;
    text-align:center;
}

#auroratext h2{
    font-size:12vw;
	margin-bottom: 8vw;
	
}

#auroratext p{
    font-size:4vw;
    line-height:2;
}

/* =========================
   description04
========================= */

#description04{
    width:100%;
    padding:20vw 0;
}

#detailtitle h2{
    font-size:10vw;
}

#detailvideo{
	width: 100vw;
	overflow:hidden;
    margin:10vw 0 10vw 0;
}

#detailvideo video{
	width: 100%;
}

#detailimgwrap{
    flex-direction:column;
    gap:8vw;
	padding:0 6vw;
}

.detailimg{
    width:90%;
	margin: 0 auto;
}

.detailimg p{
    font-size:4vw;
    margin-top:3vw;
}

.zoom-icon{
    width:10vw;
    height:10vw;
    font-size:6vw;
    top:3vw;
    right:3vw;
}

#modalImage{
    max-width:90vw;
    max-height:80vh;
}

#closeModal{
    top:5vw;
    right:5vw;
    font-size:10vw;
}

/* =========================
   description05
========================= */

#description05{
    width:100%;
    padding:30vw 0 20vw 0;
}

#limited-bg{
    width:90vw;
    height:90vw;
}

#limitedtitle h2{
    font-size:34vw;
    letter-spacing:.05em;
}

#limitedtext{
    font-size:5vw;
    margin-top:16vw;
}

/* =========================
   description06
========================= */

#description06{
	width: 100%;
    padding:15vw 6vw;
	box-sizing:border-box;
}

#spectitle h2{
    font-size:10vw;
    margin-bottom:8vw;
}

#spectext table{
    width:100%;
}

#spectext tr{
    display:block;
    margin-bottom:8vw;
}

#spectext th{
    display:block;
    width:100%;
    font-size:4vw;
    margin-bottom:2vw;
	text-align: center;
}

#spectext td{
    display:block;
    width:100%;
    padding-left:0;
    font-size:4vw;
    line-height:1.8;
	text-align: center;
}

/* =========================
   footer
========================= */

#footcontent{
    width:auto;
    min-height:auto;
    padding:20vw 6vw;
}

#footcontent h2{
    font-size:10vw;
    line-height:1.6;
}

#buy2,
#official{
    width:80vw;
    font-size:4vw;
    padding:4vw;
}

#official{
    margin-top:5vw;
}

#copyright{
    font-size:3vw;
    padding-top:12vw;
}

/* =========================
   bubbles軽量化
========================= */

.bubble:nth-child(n+7){
    display:none;
}

/* =========================
   フィックスボタン
========================= */

#fixed-buy{
	width:100vw;
	min-width: 100vw;
	bottom:12px;
}

.fixed-limit{
	font-size:2.8vw;
}

.fixed-name{
	font-size:3.2vw;
}

.fixed-price{
	font-size:5.5vw;
}

.tax {
	margin-left: 1vw;
	font-size:2.5vw;
}

#fixed-buy a{
	font-size:4.5vw;
	padding:4vw;
	width: 80%;
	margin:0 auto;
}