/* ############################
GROWUP Ver1.0 CSS
############################ */


/* ############################
リセットCSS START
############################ */

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

/* マージン、パディング、ボーダーをリセット */
body, h1, h2, h3, h4, h5, h6, p, ol, ul, li, figure, figcaption, blockquote, dl, dd {
margin: 0;
padding: 0;
border: 0;
}

/* リストスタイルをリセット */
ol, ul {
list-style: none;
}

/* フォント継承をリセット */
html {
font-family: sans-serif;
}

/* リンクのスタイルをリセット */
a {
text-decoration: none;
color: inherit;
}

/* 画像のスケーリングを防ぐ */
img {
max-width: 100%;
height: auto;
display:block;
}

/* テーブルのボーダースパイシングとボーダーコラプスをリセット */
table {
border-collapse: collapse;
border-spacing: 0;
}

/* その他の基本的なスタイルリセット */
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
display: block;
}

.sp-only{
display:none;
}

/* ############################
リセットCSS END
############################ */


/* contents */

.text-center{
text-align:center;
}

img.hidden {
opacity: 0;
animation: fadeIn 0.5s ease-in 0.2s forwards;
}

@keyframes fadeIn {
to {
opacity: 1;
}
}


body{
max-width:700px;
margin:0 auto!important;
position: relative;
}

.btn-area{
position: relative;
}

.btn1,.btn2,.btn3,.btn4{
position: absolute;
left: 10%;
width:80%;
animation: zoom 1s alternate infinite;
z-index:1;
}

@keyframes zoom {
  0% {
    transform: scale(1); /* 初期サイズ */
  }
  100% {
    transform: scale(1.1); /* 1.2倍に拡大 */
  }
}
.btn1{
bottom: 5%;
}

.btn2{
bottom: 16%;
}

.btn3{
bottom:20%;
}

.btn4{
bottom:3%;
}

.form-absolute{
position: absolute;
bottom:48%;
left: 4%;
}

.n-btn-area img{
margin:0 auto;
}

table{
width:90%;
text-align:left;
margin:0px auto 40px;
}

table th,table td{
width:100%;
display:block;
}

table th{
margin-top:30px;
}

#fpoint table{
position: absolute;
width: 90%;
top:34%;
left:3.8%;
}

input{
width:100%;
padding:20px;
border-radius:10px;
border:solid 1px #000;
}

input[type="image"]{
border:none;
}

.required,.err{
color:red;
}

.btn-fix{
position: fixed;
bottom:0;
box-sizing: border-box;
width: clamp(0%, 100%, 700px);
padding: 10px;
}

.btn-fix img{
width:100%;
}

.sec11 h2{
font-weight:700;
margin:60px auto;
position: relative;
background:#FF00A7;
color:#FFF;
padding:15px;
}

p.att{
text-align:right;
font-size:0.8rem;
}


.copyright{
text-align:center;
font-size: 0.8rem;
padding:20px;
background:#008CD4;
}

.copyright,.copyright a{
color:#FFF;
}

/* popup */
#overlay {
z-index:100;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7); /* グレーアウト効果 */
    display: none;
}

#popupA,#popupB {
z-index: 1000;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none;
    max-width: 90%;

}

#popupB{
height:100%;
}

.popupB-sec img{
height:100vh;
}

#popupA img.popup-img-bottom,#popupB img.popup-img-bottom{
height: 100vh;
width:auto;
}

#popupA img.popup-img-btn{
position:absolute;
    top: 83%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.close-btn{
width:70px!important;
height:auto!important;
position: absolute;
top: 0;
left: 0;
background: none;
}

/* swiper */

/* --- 親要素（基準点） --- */
.parent-element {
  position: relative; /* これが必須 */
  width: 100%;
  height: 100vh; /* 適宜調整 */
}

/* --- 外枠の設定（ここをabsoluteにする） --- */
.step-slider-container {
  /* --- absoluteの配置を追加 --- */
  position: absolute;
  bottom: 8%;       /* 親要素の上からの距離 */
  left: 50%;       /* 親要素の左から50%の位置 */
  transform: translateX(-50%); /* 自身の幅の半分だけ左に戻して中央揃え */
  /* --------------------------- */

  max-width: 600px;
  width: 100%; /* 親のabsoluteの中で幅を持たせる */
  z-index: 1; /* 必要に応じて調整 */
}

.second-container{
bottom: 6%;
}

/* Swiper本体 */
.swiper {
  width: 100%;
  overflow: visible; /* ボタンを突き出させるために必須 */
}


.swiper-button-prev,
.swiper-button-next {
  width: 120px!important;  /* 画像のサイズに合わせて調整 */
  height: 120px!important; /* 画像のサイズに合わせて調整 */
  z-index: 10;
  
  /* デフォルトの矢印（フォント）を消す */
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60%; /* ボタン枠内での画像の大きさ */
}

/* デフォルトの矢印記号を非表示にする */
.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

/* 左ボタンの画像設定 */
.step-slider-container .swiper-button-prev {
  background-image: url('../img/arrow_left.png'); /* 左向き画像のパス */
  left: 0px;
}

/* 右ボタンの画像設定 */
.step-slider-container .swiper-button-next {
  background-image: url('../img/arrow_right.png'); /* 右向き画像のパス */
  right: 0px;
}

/* --- ドットナビゲーションのカスタマイズ --- */

/* コンテナ全体の高さを少し広げてドットのスペースを確保するか、
   枠線の外側に配置するために overflow: visible を活用します */
.step-slider-container,{
    /* 枠の外にあるドットやボタンを表示させるために必須 */
    overflow: visible !important; 
}

.step-slider-container .swiper-pagination {
  bottom: -40px !important; /* 枠線のさらに下に配置。数値は適宜調整 */
}

/* ドット自体の色やサイズを変える場合 */
.step-slider-container .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: #ccc; /* アクティブじゃないドットの色 */
  opacity: 1;
}

/* アクティブなドットの色（枠線の水色に合わせる例） */
.step-slider-container .swiper-pagination-bullet-active {
  background: #4fc3f7;
}

.step-content img{
max-width:94%;
}



@media (max-width: 699px) {
.pc-only{
display:none;
}
.sp-only{
display:block;
}
.copyright span{
display:block;
padding-top:10px;
}
table th{
margin-top:5px;
}
input{
padding:15px;
}
.sec10{
padding-bottom:0vw;
}
#popupA img{
height:auto;
width:95%;
display:block;
margin:0 auto;
}
.close-btn{
width: 50px !important;
left: 9px;
}
#popupA,#popupB{
width:90%;
}
#popupA img.popup-img-bottom{
height:auto;
width:auto;
}
#popupB,.popupB-sec img{
height:auto;
}
p.att{
font-size:2.3vw;
}
.btn3 {
bottom: 16%;
}
.step-content img {
max-width:80%;
margin: 0 auto;
}
.swiper-button-prev, .swiper-button-next {
width:23vw!important;
height:23vw!important;
}
.step-slider-container .swiper-button-next {
right: -10px;
}
}


/* ##########################################
特定商取引法に基づく表記|プライバシーポリシー
########################################## */

.low-content td,.policy-content td{
line-height:2.0;
}

.policy-content th{
text-align:left;
}

.policy-content h1 span{
display:block;
font-size:1.4rem;
}

.policy-content table,.low-content table{
width:100%;
font-size:1rem;
}

.low-content h1,.policy-content h1{
font-size:2rem;
margin-top:40px;
}
.policy-content table th,.policy-content table td
,.low-content table th,.low-content table td{
width:100%;
display:block;
}
.policy-content table th,.low-content table th{
background:#666;
color:#FFF;
padding:10px;
}
.thumnail .slick-track{
justify-content: center!important;
}