@charset "utf-8";

/* 2026-10: 最上部バナー廃止につき#service-header/.lnavは未使用（マークアップ側でも削除済み） */

/* フッター上部画像を非表示（PC/SP共通） */
#ft-about .ft-about-img{
	display: none;
}
/* 画像削除に伴い、白→グレーのグラデーション背景だと境目がずれるため単色グレーに統一（PC/SP共通） */
#ft-about{
	background: #f5f5f5;
}

/* フローティングCTA（PC/SP共通の基本設定） */
.pg-floating-cta{
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 500;
	width: 100%;
	background-color: rgba(255,255,255,.97);
	box-shadow: 0 -2px 10px rgba(0,0,0,.12);
	text-align: center;
}
.pg-floating-cta-btn{
	display: inline-block;
	background-color: #BB1B21;
	border-radius: 999px;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .2s;
}
.pg-floating-cta-btn:hover{
	background-color: #96151a;
}

@media screen and (min-width: 761px), print {
/*PC*/

/*0: common
=========================================*/
article{
	font-size: 16px;
	line-height: 1.75;
}
.narrow-wrap{
	width: 700px;
	margin: 0 auto;
}

/* ページ見出し */
.pg-page-title{
	margin: 0 0 40px;
	padding: 60px 0 0;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center;
}

/* ページリード */
.service-lead{
	width: 700px;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.75;
}
.service-lead p:last-child{
	margin-bottom: 0;
}

.pg-subcopy {
	display: inline-block;
	font-size: 18px;
}

/* プログラム紹介 */
.pg-remarks {
	margin: 0 0 50px 0;
	width: 700px;
	font-size: 16px;
}
.pg-remarks span {
	display: inline-block;
	margin-right: .15em;
	font-size: 15px;
	color: #BB1B21;
	vertical-align: -.1em;
}
.pg-wrap {
	overflow: hidden;
}
.pg-item {
	float: left;
	width: 490px;
}
.pg-item:nth-child(2n-1) {
	clear: left;
	margin-right: 44px;
}
.pg-item:nth-child(n+3) {
	margin-top: 60px;
}
.pg-item dt {
	margin-bottom: 20px;
	font-size: 18px;
	line-height: 30px;
	font-weight: 500;
}
.pg-time {
	display: inline-block;
	color: #F7B200;
}
.pg-hardness {
	display: inline-block;
	padding-left: .5em;
	color: #BB1B21;
}
.pg-hardness:first-letter {
	display: inline-block;
	margin-right: .15em;
	font-size: 13px;
	vertical-align: -.05em;
}
.pg-trial {
	display: inline-flex;
	align-items: center;
	margin-left: 8px;
	padding: 3px 14px;
	border-radius: 999px;
	background-color: #EAF7F0;
	color: #1F8A58;
	font-size: 11px;
	font-weight: 500;
	white-space: nowrap;
	vertical-align: middle;
}
.pg-item dd {
	font-size: 16px;
}
.pg-item dd img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 20px;
}
.pg-item dd p:last-child {
	margin-bottom: 0;
}
.pg-meta {
	display: flex;
	align-items: center;
	gap: 24px;
}
.pg-duration {
	color: #666;
}
.pg-subhead {
	clear: both;
	margin: 70px 0 35px;
	padding: 14px 0;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .05em;
	color: #DE580D;
	background-color: #FDF0E6;
	text-align: center;
}
.pg-remarks + .pg-subhead {
	margin-top: 0;
}
.pg-noimg {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 280px;
	margin-bottom: 20px;
	background-color: #F2EBE5;
	text-align: center;
}
.pg-noimg span {
	font-size: 14px;
	line-height: 1.6;
	color: #AFA69D;
}

/*1: タブ切り替え（新規）
=========================================*/
#programTabContents{
	margin-top: 80px;
	padding-bottom: 120px;
}
.programTab-nav{
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-bottom: 60px;
}
.programTab-nav li{
	flex: none;
}
.programTab-nav .tab-btn{
	display: inline-block;
	min-width: 260px;
	padding: 16px 30px;
	border: 2px solid #DE580D;
	border-radius: 30px;
	background-color: #fff;
	color: #DE580D;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}
.programTab-nav .tab-btn:hover{
	background-color: #DE580D;
	color: #fff;
}
.programTab-nav .tab-btn.is-active{
	background-color: #DE580D;
	color: #fff;
}
.tab-panel{
	display: none;
}
.tab-panel.is-active{
	display: block;
}
.tab-panel .service-lead{
	text-align: center;
	margin-bottom: 20px;
}

/* フローティングCTA（PC） */
body{
	padding-bottom: 96px;
}
.pg-floating-cta{
	padding: 18px 0;
}
.pg-floating-cta-btn{
	min-width: 320px;
	padding: 16px 40px;
	font-size: 16px;
}
.topBack{
	bottom: 110px;
}

}
