﻿@charset "UTF-8";
/*----------------------------------------------------------------------

ヘッダー

/*--------------------------------------------------------------------*/
.head{
	background:#D24C99;
	text-align:center;
	padding:.7em 0;
	border-bottom: 2px solid #fff;
	display:flex;
	justify-content:center;
	gap: 5px;
	align-items:center;
}
.head h1 img{
	max-width:180px;
}
.head p img{
	max-width:55px;
}

.head p {
	border-right: 2px solid var(--text-main_color);
	padding-right:18px;
}

@media (min-width: 768px) {
.head{
	padding:2em 0;
	}
.head h1 img{
	max-width:220px;
	}
.head p img{
	max-width:80px;
	}
}
.mv {
  position: relative;
  background: url(../images/mv/bg.png) no-repeat #E65080 center 0% ;
  background-size: cover;
  text-align: center;
  padding: 2em 0 ;
}
@media (min-width: 768px) {
.mv {
  background: url(../images/mv/bg.png) no-repeat #E65080 center 0% fixed;
  padding: 4em 0 ;
  background-size: cover;
	}
}


.mv img{
	max-width:100%;
}
.mv-icon {
  position: absolute;
  bottom: 140px;
  right:10px;
  z-index: 10;
  animation: fluffy 2s infinite;
}

.mv-icon img{
	max-width:80px;
	}
@media (min-width: 768px) {
.mv-icon  img{
	max-width:100%;
	}
.mv-icon {
  bottom: 10px;
	}
}
.mv-icon a:hover{
	opacity:.7;
}

.mv_test {
  position: relative;
  background: url(../images/mv/bg.png) no-repeat #E65080 center 0% ;
  background-size: cover;
  text-align: center;
  padding: 2em 0 ;
}
@media (min-width: 768px) {
.mv_test{
  background: url(../images/mv/bg.png) no-repeat #E65080 center 0% fixed;
  padding: 4em 0 ;
  background-size: cover;
	}
}
.mv_test .mv-flex img{
	max-width:90%;
}
@media (min-width: 768px) {
.mv_test .mv-flex img{
	max-width:100%;
	}
}
.mv-text-only img{
	max-width:95%;
}
.mv-text-only{
	margin:30px 0 0;
}

@media (min-width: 768px) {
.mv-text-only img{
	max-width:100%;
	}
}
.mv-flex{
	margin:0 0 10px;
}
.mv-flex ul{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
}
@media (min-width: 768px) {
.mv-flex ul{
	gap:0px 20px;
	flex-direction:row;
	}
}
/* 1. 親要素（li）はシンプルに基準位置にするだけでOK */
.slider_img {
  position: relative;
}

/* 2. 土台の画像（元からある<img>） */
.slider_img img {
  display: block;
  margin: 0 auto; /* スマホの時に画像を中央寄せにする */
}

/* 3. 重ねる画像（ここが重要です！） */
.slider_img::after {
  content: "";
  position: absolute;
  top: 0;
  
  /* 【修正】左右を 0 にして margin: 0 auto をかけることで、 */
  /* 下の <img> と全く同じ「幅」と「位置」に自動で合わせます */
  left: 0;
  right: 0;
  margin: 0 auto;
  
  /* 横幅と高さは、土台の <img>（max-widthなど）に自動で追従させます */
  width: 100%;
  max-width: 90%; /* スマホ時のimgのmax-widthと同じにします */
  height: 100%;
  
  /* 背景画像の設定 */
  background: url("../images/mv/mv_pc_b_c.png") no-repeat center / contain;
  
  animation: imageFade 10s ease-in-out infinite;
}

/* 4. PCサイズ（768px以上）の時は max-width を100%に上書き */
@media (min-width: 768px) {
  .slider_img::after {
    max-width: 100%;
  }
}

/* アニメーション（変更なし） */
@keyframes imageFade {
  0%, 100% { opacity: 0; }
  40%, 60% { opacity: 1; }
}
/*----------------------------------------------------------------------

モバイル決済ってなに

/*--------------------------------------------------------------------*/
.what_body{
	background:rgba(255,249,243,.3);
}
.what-list_three{
	display:flex;
	color:var(--text-main_color);
	justify-content:center;
	font-size:clamp(14px,2vw,16px);
}
.what-list_three dl{
	flex:1;

}
.what-list_three dt{
	text-align:center;
}
@media screen and (max-width: 767px) {
.what-list_three dt{
	margin:0 0px 10px 0;
	}
}

.what-list_three dd{
	font-weight: 500;
}
.what-list_three dd span{
	display:block;
	font-size:clamp(15px,2vw,17px);
	background:var(--text-main_color);
	color:#fff;
	text-align:center;
	padding:.3em 0;
	margin:0px 0 5px;
	border-radius:5px;
}
@media (min-width: 768px) {
.what-list_three dd span{
	margin:10px 0 5px;
	}
}
.what-list_three img{
	max-width:100%;
}
.what-list_three{
	gap:0 30px;
	margin:30px 0 0;
}

@media screen and (max-width: 767px) {
.what-list_three{
	flex-direction: column;
	gap:10px 0px;
	margin:0px 0 0;
	}
.what-list_three img{
	max-width:150px;
	}
.what-list_three dl{
	display:flex;
	gap: 0 10px;
	align-items:center;
	}
}

/*----------------------------------------------------------------------

モバイル決済が使えるところ

/*--------------------------------------------------------------------*/
.lineup_body{
	background:rgba(226,195,166,.3);
	
}


.ues-text{
	margin:20px 0 0;
	font-weight: 700;	
}
.use-list_two,
.use-list_three{
	display:flex;
	color:var(--text-main_color);
	justify-content:center;
	align-items:end;
	font-size:clamp(14px,2vw,16px);
}

.use-list_two dt,
.use-list_three dt{
	text-align:center;
}
.use-list_two dd,
.use-list_three dd{
	font-weight: 500;
	position: relative;
}
.use-list_two img,
.use-list_three img{
	max-width:100%;
}
.use-list_two{
	gap:0 20px;
	margin:30px 0;
	text-align:center;
}
.use-list_three{
	gap:0 20px;
	margin:40px 0 0;
}
.use-list_three dd span{
	display:block;
	font-size:clamp(15px,2vw,17px);
	background:var(--text-main_color);
	color:#fff;
	text-align:center;
	padding:.3em 0;
	margin:0 0 5px;
	border-radius:5px;
}
.use-list_three dd {
  position: relative;
  display: block;
  margin: 1.5em auto 0;
  padding: 13px 13px 20px;
  min-width: 120px;
  max-width: 90%;
	color:var(--text-main_color);
  background: #FFF;
  border: solid 2px var(--text-main_color);
	border-radius:10px;
  box-sizing: border-box;
}
.use-list_three dd:before {
  content: "";
  position: absolute;
  top: -23px;
  left: 50%;
  margin-left: -15px;
  border: 11px solid transparent;
  border-bottom: 12px solid #FFF;
  z-index: 2;
}

.use-list_three dd:after {
  content: "";
  position: absolute;
  top: -28px;
  left: 50%;
  margin-left: -17px;
  border: 13px solid transparent;
  border-bottom: 14px solid var(--text-main_color);
  z-index: 1;
}


@media screen and (max-width: 767px) {
.use-list_three{
	overflow-x: auto; 
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 15px;
	justify-content:flex-start;
	margin:20px 0 0;
	}
.use-list_three dl {
    flex: 0 0 100%; 
    scroll-snap-align: start;
  }
.use-list_three::-webkit-scrollbar {
    height: 8px;
  }
    /* スクロールバーの背景部分（トラック） */
.use-list_three::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
  }

  /* スクロールバーのつまみ部分（サム） */
.use-list_three::-webkit-scrollbar-thumb {
    background-color: #E65080; 
    border-radius: 4px; 
    border: 2px solid #f1f1f1;
  }

  /* つまみをホバーした時の色 */
.use-list_three::-webkit-scrollbar-thumb:hover {
    background-color: #414141; 
  }
}

/*----------------------------------------------------------------------

モバイル決済のラインアップ

/*--------------------------------------------------------------------*/
.lineup_body{
	background:rgba(249,208,219,.4);
}

.slider-section{
	display:flex;
	margin:20px 0 0;
	gap:0 10px;
}
.slider-section img{
	max-width:100%;
  height: auto;
  vertical-align: bottom;
}
.slider-section li{
	background:#fff;
	padding:20px 10px;
	box-sizing border-box;
	flex:1;
}
.slider-section li h4{
	display:flex;
	color:var(--text-main_color);
	justify-content:center;
	font-size:clamp(20px,2vw,23px);
	padding:5px 0 10px;
	font-weight:500;
}
.slider-section .pay-icon dl{
	display:flex;
	justify-content:center;
	padding:15px 0;
	height:auto;
	line-height:1.4;
}
@media (min-width: 768px) {
.slider-section .pay-icon dl{
	height:80px;
	}
}

.slider-section .pay-icon dl dd:first-child{
	border-right:1px solid #ccc;
}
.slider-section .pay-icon dl .sw:first-child{
	border-right:1px solid #fff;
}
.slider-section .pay-icon dl .sw img{
	max-width:140px;
  vertical-align: bottom;
}
.pay-text{
	margin:0px auto 0;
	font-weight: 500;
	text-align:left;
	max-width:95%;
	font-size:clamp(14px,2vw,15px);
	height:140px;
	
}
/* --- アコーディオンのスタイル --- */
.accordion-wrapper {
	margin: 10px 0 20px;
	display: flex;
	flex-direction: column;
}
   /* ボタンの共通スタイル */
.accordion-trigger {
	display: inline-block;
	align-self: center; /* ボタンの幅をテキスト幅に合わせる */
	cursor: pointer;
	font-weight: bold;
	color: #000;
	padding: 5px 0;
	user-select: none;
	transition: color 0.2s ease;
	font-size:clamp(14px,2vw,15px);
	border:1px solid #ccc;
	width:90%;
	margin: 0 auto;
	text-align:center;
	color:var(--text-main_color);
	border:1px solid var(--text-main_color);
	border-radius:5px;
}
.accordion-trigger:hover {
	opacity:.6;
}
/* 開いたときにボタンを下に下げるためのCSSの仕組み */
.accordion-wrapper.is-open .accordion-trigger {
	order: 2; /* 開いている時はボタンを2番目（下）にする */
	margin-top: 10px; /* コンテンツとの間に少し余白を作る */
}
.accordion-wrapper.is-open .accordion-content {
	order: 1; /* 開いている時はコンテンツを1番目（上）にする */
}

/* コンテンツのスタイル（アニメーション付き） */
.accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
}
.accordion-content-inner .pay-notice{
	width:100%;
	margin: 0 auto;
	color:var(--text-main_color);
	display: flex;
	flex-direction: column;
	gap:5px 0;
}
.accordion-content-inner .pay-notice dd{
	font-size:clamp(12px,2vw,13px);
	text-indent:-1em;
	padding-left:1em;
	line-height:1.3;
}

.accordion-content-inner .pay-notice dd:before{
	content:"※";
}

.accordion-content-inner .pay-notice dd span a{
	background-size:10px;
	word-break: break-all;
	display:block;
	font-size:clamp(10px,2vw,12px);
	color:var(--text-main_color);
	text-indent:0em;
	padding-left:0em;
}
.accordion-content-inner .pay-notice dd span a:after {
	content: "";
    display: inline-block; /* インライン要素として扱う */
    width: 1em;
    height: 1em;
    margin-left: 0.3em;
    vertical-align: middle; /* テキストに対して垂直方向の中央に配置 */
    background-image: url("../cmn/images/arrow_blank.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
@media screen and (max-width: 767px) {
  /* スライダー全体の枠（左右矢印を入れるために、横に広めの余白を取る） */
  .slider-section {
    display: block !important; 
    position: relative !important;
    padding: 0 0px !important; /* 左右に45pxの余白を作って矢印の居場所を確保 */
    margin: 20px auto 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  /* Slickの内部レイアウト構造のバグをリセット */
  .slider-section .slick-list {
    overflow: hidden !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .slider-section .slick-track {
    display: flex !important; /* スライドを横一列に並べるための最重要設定 */
    width: 100% !important;
    height: auto !important;
  }

/* 1つひとつのスライド（クローン含む）の完全独立化 */
  .slider-section li,
  .slider-section .slick-slide {
    background: #fff;
    padding: 20px 15px !important;
    box-sizing: border-box !important;
    
    /* 横並びの干渉を完全にリセットする記述 */
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
  }

  /* PC用の高さ固定を解除 */
  .pay-text {
    height: auto !important;
    margin-bottom: 15px !important;
  }

/* -----------------------------------------
     左右の矢印ナビゲーション（おしゃれ丸型＆上下中央固定）
  ----------------------------------------- */
  .slider-section .slick-arrow {
    position: absolute !important;
    top: 220px !important; 
    transform: translateY(-50%) !important;
    z-index: 100 !important;
    width: 38px !important;
    height: 38px !important;
    border: 1px solid #e0e0e0 !important;
    background: rgba(255, 255, 255, 0.95) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
    font-size: 0 !important;
    transition: all 0.2s ease;
  }

  /* タップ時のエフェクト（少し縮んで不透明度を上げる） */
  .slider-section .slick-arrow:active {
    transform: translateY(-50%) scale(0.92) !important;
    background: #fff !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
  }

  /* 矢印の「中身のV字線」をCSSのボーダーで上品に描画 */
  .slider-section .slick-arrow::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    width: 8px !important;  /* 矢印の線の長さ */
    height: 8px !important; /* 矢印の線の長さ */
    border-top: 2px solid var(--text-main_color) !important;   /* 線の太さと色 */
    border-right: 2px solid var(--text-main_color) !important; /* 線の太さと色 */
  }
  
  /* 左矢印（＜）の個別設定 */
  .slider-section .slick-prev {
    left: -8px !important; /* 画面端からの距離（お好みで調整） */
  }
  .slider-section .slick-prev::before {
    left: 50% !important;
    transform: translate(-50%, -50%) rotate(-135deg) !important; /* 左向きに回転 */
  }
  
  /* 右矢印（＞）の個別設定 */
  .slider-section .slick-next {
    right: -8px !important; /* 画面端からの距離（お好みで調整） */
  }
  .slider-section .slick-next::before {
    left: 45% !important;
    transform: translate(-50%, -50%) rotate(45deg) !important; /* 右向きに回転 */
  }
}
.slick-slider div { transition: none; }
.slider-section .accordion-content {
  transition: max-height 0.3s ease-out !important;
}
/*----------------------------------------------------------------------

こんな不安はありませんか？

/*--------------------------------------------------------------------*/
.faq-lbl{
	background:#D24C99;
}
.accordion-container {
	background-color: #fff;
	width: 100%;
	max-width: 750px;
	border-radius: 12px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
	padding: 0px 20px 0px;
	margin:15px auto ;
	color:var(--text-main_color);
}
.accordion-item {
	border-bottom: 1px solid #eee;
}
.accordion-item:last-child {
	border-bottom: none;
}

/* 質問部分（ラベル） */
.accordion-header {
	width: 100%;
	padding: 18px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	border: none;
	background: none;
	text-align: left;
	font-size:clamp(14px,2vw,16px);
	font-weight: 700;
	line-height: 1.5;
	color:var(--text-main_color);
	}

	/* 丸いアイコンのベース */
.icon {
	position: relative;
	width: 22px;
	height: 22px;
	background-color: #414141; /* ディズニー風のブルー */
	border-radius: 50%;
	flex-shrink: 0;
	margin-left: 15px;
	transition: transform 0.3s;
}
/* プラス・マイナスの線 */
.icon::before, .icon::after {
	content: "";
	position: absolute;
	background-color: #fff;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
/* 横棒 */
.icon::before {
	width: 12px;
	height: 2px;
}
/* 縦棒（プラスの時だけ表示） */
.icon::after {
	width: 2px;
	height: 12px;
	transition: opacity 0.3s;
}

/* オープン時のアイコン変化 */
.accordion-item.active .icon::after {
	opacity: 0; /* 縦棒を消してマイナスにする */
}

        /* 回答部分（コンテンツ） */
        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out;
            	font-size:clamp(14px,2vw,16px);
            line-height: 1.7;
        }

        .content-inner {
            padding-bottom: 15px;
        }

        .answer-label {
            font-weight: bold;
            display: block;
            margin-bottom: 0px;
            padding-left:18px;
        }
        .accordion-header:hover {
					text-decoration:underline;
        }
        /* リンクのスタイル */
        .link {
         text-decoration: underline;
        }
/*----------------------------------------------------------------------

キャンペーン

/*--------------------------------------------------------------------*/

.cp-main img{
	max-width:100%;
}
.cp-main{
	margin:20px 0 10px;
}
.lbl-style{
	text-align:center;
	font-size:clamp(15px,2vw,20px);
	color:var(--text-main_color);
	font-weight:500;
	position:relative;
/*	display: flex;
	align-items: end;
	justify-content: center;
	gap: 3px;
	*/
	margin: 0 auto;
	max-width: 90%;
	padding: 0 1.5em;
	width: max-content;
	display: block;
}
.lbl-style:before{
	content: "＼";
	font-size: 1.8em;
	position: absolute;
  left: -10px;
  bottom: 0; /* スマホのときは1行目の高さに合わせる */
}
.lbl-style:after{
	content: "／";
	font-size: 1.8em;
	position: absolute;
  right: -10px;
  bottom: 0;  /* スマホのときは1行目の高さに合わせる */
}
@media (min-width: 768px) {
  .lbl-style {
    display: block; /* PCでは通常のブロックに戻す */
    width: max-content;
    margin: 0 auto;
  }
  
  /* PCでは1行に収まるので、上下中央（50%）に配置して綺麗に見せる */
  .lbl-style:before,
  .lbl-style:after {
  	font-size: 1.2em;
    top: 30%;
    transform: translateY(-50%);
  }
}
.campaign-lbl{
	background:#9B2D8C;

}
.campaign-lbl_sub{
	border:1px dashed #D24C99;
	color:#D24C99;
	background:#fff;
	width:min(100%,600px);
	margin: 0 auto 10px;
}

.campaign_body{
	background:rgba(249,208,219,.4);

}
.cp-inner_main{
	margin:20px 0 0;
	display:flex;
	gap:20px 0;
	flex-direction:column;
}
@media (min-width: 768px) {
.cp-inner_main{
	gap:40px 0;
	}
}

.cp-day{
	text-align:center;
	font-size:clamp(15px,2vw,23px);
	color:var(--text-main_color);
	font-weight:700;
}
.cp-text_inner{
	display:flex;
	align-items:center;
	width:min(100%,600px);
	margin: 0px auto 0px;
	gap:0 10px;
	text-align:left;
}
@media (min-width: 768px) {
.cp-text_inner{
	text-align:center;

	}
}

.cp-text{
	text-align:left;
	font-size:clamp(18px,2vw,25px);
	color:var(--text-main_color);
	font-weight:700;
	width:min(100%,600px);
	margin: 0px auto 0px;

}
@media (min-width: 768px) {
.cp-text{
	text-align:center;
	margin: 20px auto 30px;
	}
}

.cp-notice{
	margin: 20px auto 0px;
}
.cp-notice li{
	font-size:clamp(12px,2vw,14px);
	color:var(--text-main_color);
	text-indent:-1em;
	padding-left:1em;
	width:min(100%,600px);
	margin: 3px auto ;
}
.cp-notice li:before{
	content:"※";
}
.cp-notice li a{
	color:var(--text-main_color);
}
.cp-notice li a:hover{
	opacity:.7;
}

.cp-notice li a:after {
	content: "";
    display: inline-block; /* インライン要素として扱う */
    width: .7em;
    height: .7em;
    margin-left: 0.3em;
    margin-right: 0.3em;
    vertical-align: middle; /* テキストに対して垂直方向の中央に配置 */
    background-image: url("../cmn/images/arrow_blank.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

}
.sp-scroll_hint{
	width:160px;
	margin: 30px 0 0px 0%;
	font-size:11px;
	border:1px solid #414141;
	padding:3px 10px;
	text-align:center;
	
}
@media screen and (min-width: 769px) {
.sp-scroll_hint{
	display:none;
	}
}
.google_g{
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-weight: 500; /* 太さは周りに合わせて調整してください */
}
.google_g2{
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-weight: 400; /* 太さは周りに合わせて調整してください */
}
.google_gw{
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-weight: 500; /* 太さは周りに合わせて調整してください */
	padding:0 3px 0px 0;
}