

/* ----------------------------------------
特集 > 安心トレーニングサポート
---------------------------------------- */

/* reset */
.single #content .mainText h2,
.single #content .mainText h3 {
	background: 0 0;
	border: none;
	color: inherit;
	line-height: 1;
	margin: 0;
	padding: 0;
}

.single #content .mainText img {
	margin-top: 0;
	margin-bottom: 0;
}

.single #content .mainText .item {
	float: none;
}

/*
 * ======================================
 * PC
 * ======================================
 */

 /* heading */
.single #content .mainText h2 {
	text-align: left;
	font-size: 2.6rem;
	margin-bottom: 5%;
	line-height: 1.6;
}
.single #content .mainText h2.center {
	text-align: center;
}
.single #content .mainText h2 br {
	display: none;
}

.single #content .mainText p {
	font-size: 2rem;
	text-align: left;
	margin: 2% 0 3% 0;
}

.single #content .mainText .note p {
	font-size: 1.6rem;
	margin-top: 3%;
}

.single #content .mainText .caption {
	color: #016A32;
	font-size: 2.8rem;
	line-height: 1.6;
	margin-bottom: 2%;
	text-align: center;
}

/* detail */
.single #content .mainText .detail {
	margin-top: 7%;
}
.single #content .mainText .detail .flex {
	background: #016A32;
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 4%;
	padding: 4%;
}
.single #content .mainText .detail .flex .item:nth-child(3),.single #content .mainText .detail .flex .item:nth-child(4) {
	margin-top: 3%;
}


.single #content .mainText .detail .flex p {
	color: #FFF;
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 1.8;
	margin-top: 3%;
	padding: 0 0.2em;
	text-align: justify;
}

.single #content .mainText .detail .flex .item:has(img) {
	width: 48%;
}



.single #content .mainText .detail2 {
	margin-top: 10%;
}
.single #content .mainText .detail2 .flexB {
	background: #016A32;
	align-items: center;
	margin-bottom: 4%;
	padding: 5%;
}

.single #content .mainText .detail2 .itemA {
	width: 45%;
	margin: 0 auto;
}

.single #content .mainText .detail2 .itemB {
	width: 95%;
}
.single #content .mainText .detail2 .itemB ur {
	list-style: none;
}
.single #content .mainText .detail2 .itemB ur li{
	background:url(https://www.ss-ogura.com/fitness/wp-content/uploads/2025/08/hos-oguragolfspace-m_img07.png) no-repeat 0 0;
	background-size:auto 30px;
	margin: 3% 0 0 10%;
	padding-left: 50px;
	color: #FFF;
	font-size: 2rem;
}


/* paragraph */
.single #content .mainText p {
	font-size: 1.8rem;
	line-height: 1.8;
	padding: 0 0.2em;
	text-align: justify;
}

/* button */
.single #content .mainText .button {
	margin: 8% auto 0;
	width: 70%;
}

.single #content .mainText .button+.button {
	margin-top: 2%;
}

.single #content .mainText .balloon p {
	display: table;
	font-weight: bold;
	margin: 0 auto 0.7em;
	padding: 0 30px;
	position: relative;
	text-align: center;
}

.single #content .mainText .balloon p:after,
.single #content .mainText .balloon p:before {
	background-color: #000;
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	width: 1px;
}

.single #content .mainText .balloon p:before {
	left: 0;
	transform: rotate(-30deg);
}

.single #content .mainText .balloon p:after {
	right: 0;
	transform: rotate(30deg);
}

.single #content .mainText .button a {
	background-color: #fff;
	border-radius: 1.53em;
	display: block;
	font-size: 20px;
	line-height: 1.5;
	padding: 0.66em 1.33em;
	position: relative;
	text-align: center;
	width: 100%;
}

.single #content .mainText .button a:hover {
	color: #333333;
}

.single #content .mainText .button.color01 a {
	background-color: #9FC71A;
}

.single #content .mainText .button.color02 a {
	background-color: #FFF76F;
}

.single #content .mainText .button.color03 a {
	background-color: #FF9757;
}

.single #content .mainText .button a::after {
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	content: '';
	display: inline-block;
	height: 12px;
	margin-top: -6px;
	position: absolute;
	top: 50%;
	right: 28px;
	transform: rotate(-45deg);
	width: 12px;
}

/*
 * ======================================
 * SP
 * ======================================
 */

@media screen and (max-width: 767px) {

	.single #content .mainText .caption {
		font-size: 2rem;
	}
	/* flex */
	.single #content .mainText .detail .flex {
		display: block;
		margin-bottom: 6%;
		padding: 5%;
	}
	.single #content .mainText .detail .flex .item {
		width: 100%;
	}
	
	.single #content .mainText .detail .flex .item h3  {
		font-size: 1.8rem;
		line-height: 1.4;
		margin-top: 3%;
		margin-bottom: 3%;
		text-align: center;
	}
	
	.single #content .mainText .detail .flex .item p {
		font-size: 1.5rem;
		line-height: 1.7;
		text-align: center;
	}
	
	.single #content .mainText .detail .flex .item:has(img) {
		width: 100%;
		margin: 0 auto;
	}

.single #content .mainText .detail .flex .item:nth-child(2) {
	margin-top: 3%;
}

	.single #content .mainText .detail2 .itemA {
		width: 70%;
	}

	.single #content .mainText .detail2 .itemB {
		width: 100%;
	}
	.single #content .mainText .detail2 .itemB ur li{
		background-size:auto 23px;
		margin: 3.5% 0 0 2%;
		padding-left: 35px;
		font-size: 1.7rem;
	}

	/* heading */
	.single #content .mainText .gradient-line {
		height: 3px; 
	  width: 180px; 
	}
	.single #content .mainText h2 {
		font-size: 2rem;
	}

	.single #content .mainText h2 br {
		display: block;
	}

	.single #content .mainText .note p {
		font-size: 1.2rem;
		margin-top: 3%;
	}

	/* paragraph */
	.single #content .mainText p {
		font-size: 1.5rem;
		line-height: 1.7;
	}

	/* button */
	.single #content .mainText .button {
		max-width: 280px;
		width: 100%;
	}

	.single #content .mainText .button+.button {
		margin-top: 5%;
	}

	.single #content .mainText .button p {
		font-size: 15px;
	}

	.single #content .mainText .button a {
		font-size: 12px;
	}

	.single #content .mainText .button a::after {
		height: 8px;
		margin-top: -4px;
		right: 12px;
		width: 8px;
	}

	.single #content .mainText .detail figcaption {
		font-size: 20px;
	}
}