* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: #f9f9f9;
    line-height: 1;
}

.lp-container {
    width: 100%;
    max-width: 540px;
    margin: 0 auto;
    background-color: #fff;
    overflow: hidden;
}

.lp-section {
    position: relative;
    width: 100%;
    font-size: 0;
}

.base-img {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: bottom;
}

.floating-item {
    position: absolute;
    z-index: 10;
}

.fv-model-overlay {
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    font-size: 0;
    overflow: hidden;
    animation: fadeInSlideUp 1.5s ease-out forwards;
    animation-delay: 0.5s;
    opacity: 0;
}

.fv-model-animated {
    display: inline-block;
    width: auto;
    max-width: 100%;
    height: auto;
    object-fit: cover;
    margin: 0 auto;
    vertical-align: bottom;
}

@keyframes fadeInSlideUp {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
 
.fv-title1-overlay {
    position: absolute;
    top: 9%;
    left: 0; 
    right: 0;  
    margin: auto;
    width: 80%;
    text-align: center;
    font-size: 0;
    overflow: hidden;
    transform-origin: top center; 
    animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    animation-delay: 1.5s;
    opacity: 0;
}

@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0; 
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.fv-title2-overlay {
    position: absolute;
    top: 10%;
    left: 0; 
    right: 0;  
    margin: auto;
    width: 82%;
    text-align: center;
    font-size: 0;
    overflow: hidden;
    transform-origin: top center; 
    animation: poyopoyo 2s ease-out forwards;
    animation-delay: 2.5s;
    opacity: 0;
}

@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    opacity: 1;   
    transform: scale(1.0);
  }
  50%, 70% {
    opacity: 1;   
    transform: scale(0.95);
  }
    100% {
    opacity: 1;   
    transform: scale(1);
  }
}

.catch1-overlay,
.catch3-overlay,
.threestep-overlay {
    opacity: 0;
}

.catch1-overlay.is-animated {
    animation: fadeIn 0.3s ease-in forwards;
}

.catch3-overlay.is-animated {
    animation: fadeIn 0.3s ease-in forwards;
}

.threestep-overlay.is-animated {
    animation: fadeIn 0.3s ease-in forwards;
}

.catch1-overlay {
    position: absolute;
    top: 20%;
    left: 0; 
    right: 0;  
    margin: auto;
    width: 70%;
    text-align: center;
    font-size: 0;
    overflow: hidden;
    transform-origin: top center; 
}

@keyframes fadeIn {
    from {
    opacity: 0;
     transform: translateY(20px);
    }
    to {
    opacity: 1;
    transform: translateY(0);
    }
}

.catch3-overlay {
    position: absolute;
    top: 54.4%;
    left: 0; 
    right: 0;  
    margin: auto;
    width: 38%;
    text-align: center;
    font-size: 0;
    overflow: hidden;
    transform-origin: top center; 
}

.catch2-overlay {
    position: absolute;
    top: 48.8%;
    left: 0; 
    right: 0;  
    margin: auto;
    width: 20%;
    text-align: center;
    font-size: 0;
    overflow: hidden;
    transform-origin: center; 
    animation: rotation 4s linear infinite;
}

.catch4-overlay {
    position: absolute;
    top: 77.3%;
    left: 0; 
    right: 0;  
    margin: auto;
    width: 20%;
    text-align: center;
    font-size: 0;
    overflow: hidden;
    transform-origin: center; 
    animation: rotation 4s linear infinite;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.btn-overlay {
    position: absolute;
    left: 0; 
    right: 0;  
    margin: auto;
    width: 80%;
    text-align: center;
    font-size: 0;
    overflow: hidden;
    cursor: pointer;
    opacity: 1;
}

.btn-bra1 {
    top: 16.6%;
}

.btn-bra2 {
    top: 42.4%;
}

.btn-bra3 {
    top: 61.3%;
}

.btn-shorts1 {
    top: 78.65%;
}

.btn-shorts2 {
    top: 86.2%;
}

.btn-member {
    top: 97.7%;
}

.btn-bra3_cp {
    top: 59.5%;
}

.btn-shorts1_cp {
    top: 76.3%;
}

.btn-shorts2_cp {
    top: 83.6%;
}


.threestep-overlay {
    position: absolute;;
    text-align: center;
    font-size: 0;
    overflow: hidden;
    transform-origin: top center; 
}

.threestep-point1 {
    width: 80%;
    left: 2%; 
    right: 0;
    top: 24%;
}

.threestep-point2 {
    width: 91%;
    left: 8%; 
    right: 0;
    top: 38.5%;
}

.threestep-point3 {
    width: 93.3%;
    left: 5.3%; 
    right: 0;
    top: 53.5%;
}

.threestep-morespec {
    width: 90%;
    left: 0; 
    right: 0;
    margin: auto;
    top: 71.5%;
}

.flatsheet-overlay {
    position: absolute;;
    text-align: center;
    font-size: 0;
    overflow: hidden;
    opacity: 1;
    width: 100%;
    left: 0; 
    right: 0;
    margin: auto;
    top: 7%;
    animation: blink-simple 1s step-start infinite;
}

@keyframes blink-simple {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

footer {
	position: relative;
	width: 100%;
	margin: 0 0 0;
	background: #ffffff;
}
#inquiry {
	text-align: center;
	padding: 20px 0 15px;
	font-size: 11px;
	color: #666;
}
#phone span{
	font-size: 17px;
}
#inquiry div a:first-child {
	border-right: 0.5px solid #666;
	padding-right: 10px;
}
#inquiry div a:nth-child(2) {
	padding-left: 8px;
}
#ftr_com {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 35px;
	width: 100%;
	margin: 0 auto;
	border-top: 1px solid #ccc;
}
#ftr_shilogo{
	display: inline-block;
	font-size: 12px;
	font-weight: 500;
	margin: 0 0 0 3%;
	letter-spacing: 0.2em;
	font-family: 'Century Gothic', sans-serif;
	width: 100px;
}
#ftr_shilogo img{
	width: 100px;
}
#ftr_shilogo a{
	color: #fff;
}
@media (min-width: 768px) {
  #ftr_shilogo img{
	  width: 200px;
  }
}
#cpyr{
	font-size: 10px;
	line-height: 1em;
	margin: 0 2% 0 0;
	font-weight: 400;
	font-style: normal;
	transform: scale(0.9) translateX(5%);
}
.ck_button{
	display: block;
	text-align: center;
	font-size: 16px;
	padding: 7px 0;
	margin: 20px auto 10px;
	width: 75%;
	border-radius: 50px;
	position: relative;
	line-height: 1.7em;
}
#itm_area .ck_button {
	margin: 10px auto 50px;
}
.ck_button span {
	position: absolute;
	font-size: 1.5em;
	right: 4%;
	top: 50%;
	transform: scale(0.5, 1)translate(0, -55%);
	font-weight: lighter;
}
.ck_cp{
	font-size: 14px;
	padding: 15px 0;
	margin: 0 auto 0;
	width: 75%;
	border-radius: 50px;
	line-height: 1.7em;
}
.ck_cp strong {
	font-size: 1.5em;
	font-weight: 500;
}
.ck_cp span {
	position: absolute;
	font-size: 2.0em;
	right: 7.5%;
	top: 50%;
	transform: scale(1, 0.5)translate(0, -110%)rotate(90deg);
	font-weight: lighter;
}
.ck_line {
	border: solid 1px #fff!important;
	color: #fff;
}
.ck_inq{
	font-size: 14px;
	padding: 7px 0;
	margin: 10px auto;
	width: 75%;
	border-radius: 50px;
	line-height: 1.7em;
	color: #fff;
	background: #333;
	border: none!important;
}
@media (min-width: 768px) {
  .ck_inq{
	  max-width: 300px;
  }
}

.fixed-btn {
    position: fixed;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0.4s, transform 0.4s;
}

.fixed-btn.is-show {
    opacity: 1;
    visibility: visible;
}

#btn-cart-fixed {
    top: 20px;
    right: 20px;
    width: 70px;
}

#btn-cart-fixed:hover {
    transform: scale(1.1);
}

#btn-totop-fixed {
    bottom: 20px;
    right: 20px;
    width: 50px;
}

#btn-totop-fixed:hover {
    transform: translateY(-5px);
}

.fixed-btn img {
    width: 100%;
    height: auto;
    display: block;
}

@media (min-width: 640px) {
    #btn-cart-fixed {
        right: calc(50% - 300px + 20px);
    }
    #btn-totop-fixed {
        right: calc(50% - 300px + 20px);
    }
}

@media (min-width: 541px) {
    #btn-cart-fixed {
        right: calc(50% - 270px + 20px); 
    }
    #btn-totop-fixed {
        right: calc(50% - 270px + 20px);
    }
}

/*--------------------
 限定クーポン
--------------------*/
.clipboard {
position: absolute;
  top: 95.5%;
  left: 0;
  right: 0;
  bottom: 0;
  width: 60%; 
  max-width: none;
  height: auto;
  margin: auto;
  z-index: 100;
  container-type: inline-size;
}

.clipboard__inner {
  width: 100%;
  margin: auto;
  padding-top: 25px;
}

.clipboard__inner:last-child {
  margin-bottom: 0;
}

.clipboard__text-box {
  position: relative;
  text-align: center;
  margin-bottom: 3%;
}

.clipboard__text {
  display: inline-block;
  color: #333333;
  font-size: clamp(14px, 4cqw, 24px); 
  font-weight: bold;
  line-height: 1.5;
}

.clipboard__button {
  cursor: pointer;
}

.clipboard__button-text {
  display: block;
  color: #FFFFFF;
  font-family: sans-serif;
  font-size: clamp(12px, 3.5cqw, 18px); 
  line-height: 3.5;
  text-align: center;
  background-color: #db636c;
  border-radius: 5px;
}

.clipboard__button-text.is-text-change {
  background-color: rgba(219, 99, 108, 0.8);
}

.nomal_cp,
.limited_cp {
    display: none;
}