@charset "UTF-8";
body{
	_background: #faeae7;
	background: #f5ede4;
	font-family: 'Noto Serif JP', serif;
}
#lp{
	background: #ffffff;
	box-shadow: 0 0 20px rgba(0,0,0,0.3);
	max-width: 750px;
	width: 100%;
	margin: 0 auto;
}
#lp div img{
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	line-height: 1.0em;
	display: block;
}

/*MV*/
#lp .sec-mv {
  position: relative;
}
#lp .sec-mv .video-wrap {
  position: relative;
	overflow: hidden;
}
#lp .sec-mv .mv-contents{
	position: relative;
	margin: 0;
	padding: 0;
	z-index: 3;
}
#lp .sec-mv video{
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    height: auto;
    width: 100%;
}
#lp .sec-mv .pattern {
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.1);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

/*お客様の声*/
#lp .voice{
	display: flex;
}
#lp .hide-area{
	display: none;
}

/*メソッド1*/
#lp .method{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#lp .method.reverse{
	flex-direction: row-reverse;
}
#lp .method .movie_right{
	width:384px;
	margin: 0 40px 0 0;
}
#lp .method .movie_left{
	width:384px;
	margin: 0 0 0 40px;
}
#lp .method .movie_right video,
#lp .method .movie_left video{
	width: 380px;
	border: solid 1px #666666;
	background: #cccccc;
}
@media (max-width: 980px) {
	#lp .method .movie_right{
		width:39.1vw;
		margin: 0 4vw 0 0;
	}
	#lp .method .movie_left{
		width:39.1vw;
		margin: 0 0 0 4vw;
	}
	#lp .method .movie_right video,
	#lp .method .movie_left video{
		width: 38.7vw;
	}
}
/*
@media (max-width: 750px) {
	#lp .method{
		display: block;
	}
	#lp .method .movie_right{
		width:100%;
		margin: 0 0;
		text-align: center;
	}
	#lp .method .movie_left{
		width:100%;
		margin: 0 0 0 0;
		text-align: center
	}
	#lp .method .movie_right video,
	#lp .method .movie_left video{
		width: 100%;
		max-width: 350px;
		margin: 0 auto;
	}
}
*/

/*メソッド3*/
#lp .movie{
	text-align: center;
	padding: 0 40px 40px 40px ;
}
#lp .movie video{
	width: 100%;
	border: solid 1px #666666;
	background: #cccccc;
}
@media (max-width: 980px) {
	#lp .movie{
		padding: 0 4vw 4vw 4vw ;
	}
}

/*動画*/
.sp_movie{
	text-align: center;
	padding: 20px;
}
.sp_movie video{
	width: 100%;
	border: solid 1px #666666;
	background: #cccccc;
}

/*よくある質問*/
#lp .faq{
	padding: 0 40px 40px 40px;
}
#lp .faq .faq_title{
	font-family: 'Noto Serif JP', serif;
	_color: #f8527f;
	color: #ff8773;
	font-size: clamp(16px, 2.6vw, 26px);
	font-weight: bold;
	text-align: center;
	margin: clamp(30px, 5.1vw, 50px) 0 0 0;
	padding: 0 0 clamp(10px, 2vw, 20px) 0;
	border-bottom:solid 2px #c5c5c5; 
}
#lp .faq dl{
	border-bottom:solid 2px #c5c5c5; 
	padding: 10px 0;
}
#lp .faq dt{
	font-family: 'Noto Serif JP', serif;
	color: #55300e;
	font-size: clamp(16px, 2.4vw, 24px);
	font-weight: bold;
	padding: clamp(10px, 2.5vw, 25px) clamp(10px, 2.5vw, 25px)  clamp(10px, 2.5vw, 25px) clamp(30px, 7.1vw, 70px);
	background: url("../images/icn_q.png") no-repeat left center,url("../images/arrow01.png") no-repeat right clamp(10px, 2vw, 20px) center;
	background-size: clamp(15px, 5.4vw, 54px), clamp(10px, 2vw, 20px);
}
#lp .faq dt.active{
	background: url("../images/icn_q.png") no-repeat left center,url("../images/arrow02.png") no-repeat right clamp(10px, 2vw, 20px) center;
	background-size:  clamp(15px, 5.4vw, 54px),clamp(10px, 2vw, 20px);
}
#lp .faq dd{
	border-top:dotted 2px #cccccc;
	font-family: 'Noto Sans JP', sans-serif;
	color: #333333;
	font-size: clamp(13px, 1.8vw, 18px);
	display: none;
	padding: clamp(10px, 2vw, 20px) 0 clamp(10px, 2vw, 20px) clamp(30px, 7vw, 70px);
	background: url("../images/icn_a.png") no-repeat left clamp(4px, 1.6vw, 16px) top clamp(14px, 2.3vw, 23px);
	background-size: clamp(15px, 2.3vw, 23px)
}
@media (max-width: 980px) {
	#lp .faq{
		padding: 0 4vw 4vw 4vw;
	}
}

/*アクセス*/
#lp .map{
	padding: 20px 40px;
	background: #fdf9ef;
}
#lp .map iframe{
	width: 100%;
	aspect-ratio:2/1;
	border: solid clamp(5px, 1vw, 10px) #ffffff;
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
@media (max-width: 980px) {
	#lp .map{
		padding: 2vw 4vw;
	}
}

/*フッター*/
#lp footer{
	text-align: center;
	font-size: clamp(13px, 2vw, 20px);
	padding-bottom: clamp(61px, 14.6vw, 146px);
}
#lp footer .menu{
	padding: clamp(15px, 4vw, 40px) 0;
}
#lp footer a:link    {	color: #333333;	text-decoration: underline;}
#lp footer a:visited{	color: #333333;	text-decoration: underline;}
#lp footer a:hover {	color: #333333;	text-decoration: none;}

/*固定ボタン*/
#lp .fix_btn{
	background: rgba(251,251,251,0.5);
	padding: 0;
	position: fixed;
	bottom: 0;
	z-index: 100;
}
#lp .fix_btn .inner{
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
	max-width: 750px;
	padding: 5px;
}
#lp .fix_btn .inner a{
	width: calc(100% - 2px);
	display: block;
}

/*フォーム調整*/
@media (max-width: 736px) {
	.sec-contact .inner{
		padding: 20px 0;
		border-radius: 8px;
		background: #56310e!important;
	}


	
	.sec-contact div .inner .ttl-comp p.lead{
		margin: 0 auto 30px auto;
		padding: 20px 0 0 0;
		font-size: 1.0rem;
		text-align: center;
		font-family: serif;
		color: white;
	}
	
	}
	@media (min-width: 737px) {
	.sec-contact .inner{
		padding: 60px 0;
		border-radius: 8px;
		background: #56310e!important;
	}
	
	.sec-contact div .inner .ttl-comp p.lead{
		margin: 0 auto 30px auto;
		padding: 20px 0 0 0;
		font-size: 1.2rem;
		text-align: center;
		font-family: serif;
		color: white;
	}
	
	}

/*スタッフスライド*/
.slide_staff{
}
.slider {
    margin:0 auto;
}
.slider img {
    width:100%;
    height:auto;
}
.slider .slick-slide {
    margin:0;
}

.slick-prev, 
.slick-next {
    position: absolute;/*絶対配置にする*/
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 4px solid #666;/*矢印の色*/
    
    height: 15px;
    width: 15px;
	z-index: 100;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left: 20px;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right: 20px;
    transform: rotate(45deg);
}


/* ===== カウンセリングフォーム追加スタイル（梅田店から移植） ===== */
@media (max-width: 736px) {
.sec-contact .inner{
	padding: 20px 0;
	border-radius: 8px;
	background: #56310e!important;
}

.sec-contact div .inner .ttl-comp p.lead{
	margin: 0 auto 30px auto;
	padding: 20px 0 0 0;
	font-size: 1.0rem;
	text-align: center;
	font-family: serif;
	color: white;
}

}
@media (min-width: 737px) {
.sec-contact .inner{
	padding: 60px 0;
	border-radius: 8px;
	background: #56310e!important;
}

.sec-contact div .inner .ttl-comp p.lead{
	margin: 0 auto 30px auto;
	padding: 20px 0 0 0;
	font-size: 1.2rem;
	text-align: center;
	font-family: serif;
	color: white;
}

}

.google-form-label{
	font-weight: 700 !important;
}

table.schedule-table tbody th,
table.schedule-table tbody td,
table.schedule-table tbody td p{
	text-align: center !important;
}

#schedule-list-next{
	text-align: center !important;
}

/* カレンダー行間修正（style.cssのline-heightを上書き） */
.schedule-table tr td button p p,
.schedule-table tr td button p {
    line-height: 1 !important;
    margin-bottom: 0 !important;
}

.schedule-table tr td,
.schedule-table tr th {
    padding: 2px !important;
}

/* カレンダーpタグのmargin-bottom除去（bootstrap上書き） */
.schedule-table p {
    margin-bottom: 0 !important;
}

/* フォーム入力欄の左右余白 */
.google-form-contents-box {
    margin-left: 8% !important;
    margin-right: 8% !important;
}


/* ===========================
   フォーム ステップUI（メンズ）
=========================== */
.m-form-steps {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-bottom: 24px;
}
.m-form-step {
  font-size: .75rem;
  font-weight: 700;
  color: rgba(255,255,255,.35);
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.2);
  transition: all .2s;
}
.m-form-step.active {
  color: #fff;
  background: var(--green, #22c55e);
  border-color: var(--green, #22c55e);
}
.m-form-step.done {
  color: rgba(255,255,255,.6);
  border-color: rgba(255,255,255,.3);
}
.m-form-step-arrow {
  color: rgba(255,255,255,.25);
  font-size: .9rem;
}

/* 必須・任意バッジ */
.m-required {
  font-size: .68rem;
  background: #e83b6d;
  color: #fff;
  padding: 1px 6px;
  border-radius: 3px;
  margin-left: 4px;
  font-weight: 700;
}
.m-optional {
  font-size: .68rem;
  background: rgba(255,255,255,.15);
  color: rgba(255,255,255,.6);
  padding: 1px 6px;
  border-radius: 3px;
  margin-left: 4px;
}

/* select */
.form-input[id^="m-"] {
  appearance: none;
  cursor: pointer;
}

/* 戻るボタン */
.m-btn-back {
  width: 100%;
  background: transparent;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 6px;
  padding: 12px;
  color: rgba(255,255,255,.5);
  font-size: .88rem;
  cursor: pointer;
  margin-top: 8px;
  transition: border-color .2s, color .2s;
}
.m-btn-back:hover { border-color: rgba(255,255,255,.5); color: rgba(255,255,255,.8); }

/* カレンダーガイド・ローディング */
.m-cal-guide {
  font-size: .82rem;
  color: rgba(255,255,255,.55);
  margin-bottom: 10px;
}
.m-cal-loading {
  text-align: center;
  padding: 24px;
  color: rgba(255,255,255,.4);
  font-size: .88rem;
}

/* 確認画面 */
.m-confirm-box {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
}
.m-confirm-row {
  display: flex;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: .85rem;
}
.m-confirm-row:last-child { border-bottom: none; }
.m-confirm-label {
  flex-shrink: 0;
  width: 130px;
  color: rgba(255,255,255,.5);
  font-weight: 700;
}
.m-confirm-value { color: #fff; word-break: break-all; }

/* 送信中 */
.m-form-sending {
  text-align: center;
  color: rgba(255,255,255,.6);
  padding: 16px;
  font-size: .9rem;
}


/* ===========================
   スティッキーCTA
=========================== */
.sticky-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  padding: 12px 20px;
  background: rgba(17,17,17,.85);
  backdrop-filter: blur(8px);
  border-top: 1px solid rgba(201,168,76,.2);
}
.sticky-cta-btn {
  display: block;
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  background: #c9a84c;
  color: #111;
  text-align: center;
  padding: 14px 20px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-decoration: none;
  border-radius: 2px;
  transition: opacity .2s;
}
.sticky-cta-btn:hover { opacity: .85; }


/* ===========================
   Price Banner（FV内）
=========================== */
.price-banner {
  margin: 28px 0 0;
  max-width: 100%;
  background: rgba(201,168,76,.08);
  border: 3px solid #c9a84c;
  border-radius: 12px;
  padding: 20px 24px;
  position: relative;
}
.price-banner::before {
  content: 'メンズパーソナルジムプラン';
  position: absolute;
  top: -14px; left: 50%; transform: translateX(-50%);
  background: #c9a84c;
  color: #111;
  font-size: .72rem;
  font-weight: 700;
  padding: 4px 16px;
  border-radius: 20px;
  white-space: nowrap;
  letter-spacing: .06em;
}
.price-main {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 3.8rem;
  font-weight: 700;
  color: #f4f1eb;
  line-height: 1;
}
.price-main span { font-size: 1.2rem; color: #c9a84c; }
.price-note { font-size: .72rem; color: rgba(244,241,235,.6); margin-top: 6px; }


/* ===========================
   hero-pillars 横スクロール対応（5つ）
=========================== */
.hero-pillars {
  display: flex !important;
  flex-direction: row !important;
  overflow-x: auto !important;
  max-width: 100% !important;
  gap: 2px !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.hero-pillars::-webkit-scrollbar { display: none; }
.hero-pillar {
  flex: 0 0 180px !important;
  min-width: 0 !important;
  display: block !important;
  padding: 20px 16px !important;
}
.hero-pillar-n {
  white-space: normal !important;
  font-size: 20px !important;
  margin-bottom: 6px !important;
}
