/* --- 共通設定 --- */
#sp {
	margin: 0;
	width: 100%;
	background: #FFF7F0;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "AXIS Std", "メイリオ", "Meiryo", sans-serif;
}

#sp img {
	width: 100%;
	vertical-align: bottom;
}

#sp a img:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
}

#sp p i {
	font-style: italic;
}

/* --- レイアウト構造 --- */
#sp #sp_page {
	width: 100%;
	margin: 0 auto;
}

#sp #sp_tl {
	width: 100%;
	background: #FFEF00;
	position: relative;
	text-align: center;
}

#sp #sp_tl h1 {
	width: 93.750vw;
	margin: 0 auto;
	padding: 7.813vw 0 5.469vw 0;
}

#sp .sp_contents {
	width: 93.750vw;
	margin: 0 auto;
	padding: 6.250vw 0 15.625vw 0;
}

/* --- お知らせ・案内セクション (#info) --- */
#sp #info {
	width: 93.750vw;
	margin: 9.375vw auto;
	padding: 0 0 5.469vw 0;
	position: relative;
	text-align: center;
	border: solid 2px #f61500;
	border-radius: 2.344vw;
	background: #fff;
	overflow: hidden; /* 角丸のはみ出し防止 */
}

#sp #info .tit {
	width: 100%;
	background: #f61500;
	border-radius: 1.344vw 1.344vw 0 0;
	margin: 0 auto 3.125vw auto; /* 画像下の余白 */
}

#sp #info .info__gray {
	width: 85.938vw;
	margin: 0 auto 7.813vw auto;
	padding: 3.906vw 0 0 0;
	background: #DBDCDC;
	border-radius: 2.344vw;
}

/* --- お問い合わせセクション --- */
#sp .contact_info {
	width: 86.25vw;
	margin: 3.125vw auto 5.469vw;
	padding: 3.125vw 0;
	position: relative;
	text-align: center;
	border-radius: 2.344vw;
	background: #fff;
}

/* --- テキスト装飾・共通パーツ --- */
#sp p.txt, 
#sp p.txt_18,
#sp p.info__sub_tit {
	text-align: center;
	color: #666464;
	line-height: 2.1;
	font-feature-settings: "palt";
	word-break: break-all;
	font-weight: bold;
}

#sp p.txt { font-size: 3.125vw; }
#sp p.txt_18 { font-size: 2.81vw; }
#sp p.info__sub_tit { font-size: 4.69vw; margin-top: 2.344vw; }

#sp .mb-30 { margin-bottom: 4.68vw; }
#sp .pd { padding: 3.906vw 0; }

#sp p.sub_tit {
	text-align: center;
	font-size: 3.125vw;
	font-weight: bold;
	padding: 6.25vw 0 1.56vw;
}

#sp p.sub_tit.red { color: #f61500; }
#sp p.sub_tit.blue { color: #0098ff; }

#sp p.sub_tit:after {
	display: block;
	content: "";
	width: 46.88vw;
	height: 0.94vw;
	margin: 0 auto 3.12vw;
}

#sp p.sub_tit.red:after { background-color: #f61500; }
#sp p.sub_tit.blue:after { background-color: #0098ff; }

p.list_ico {
	width: 60.94vw;
	margin: 0 auto 6.25vw;
}

#sp .ico_tel {
	display: inline-block;
	width: 4.8vw;
	position: relative;
	top: -1px;
}

#sp .ico_tel img { vertical-align: middle; }

#sp p.txt a,
#sp p.txt_18 a {
	color: #0099FF;
	text-decoration: underline;
}

#sp p.txt a:hover { text-decoration: none; }

#sp #info .sp_br { display: block; }

/* --- PCサイズ (1024px以上) --- */
@media screen and (min-width : 1024px) {
	#sp #sp_tl h1 {
		width: 900px;
		padding: 70px 0 60px 0;
	}

	#sp #info {
		width: 800px;
		margin: 60px auto;
		padding: 0 0 50px 0;
		border-radius: 15px;
	}

	#sp #info .tit { 
		border-radius: 14px 14px 0 0; 
		margin: 0 auto 20px auto; /* PC用余白 */
	}

	#sp p.sub_tit { font-size: 27px; padding: 40px 0 20px; }
	#sp p.sub_tit:after { width: 400px; height: 6px; margin: 0 auto 20px; }

	p.list_ico { width: 520px; margin: 10px auto 60px; }

	#sp .contact_info {
		width: 737px;
		margin: 20px auto 40px;
		padding: 20px 0;
		border-radius: 14px;
	}

	#sp .ico_tel { width: 30px; }
	#sp .mb-30 { margin-bottom: 30px; }
	#sp p.txt { font-size: 27px; }
	#sp .pd { padding: 20px 0; }
	#sp p.txt_18 { padding: 20px 0; font-size: 18px; }
	#sp .info__gray p.txt_18 { padding: 0 0 60px 0; }
	#sp p.info__sub_tit { margin: 13px 0 0 0; font-size: 42px; }

	#sp #info .sp_br { display: inline; }

	#sp #info .info__gray {
		width: 737px;
		margin: 0 auto 30px auto;
		padding: 40px 0 0 0;
		border-radius: 15px;
	}

	#sp .sp_contents {
		width: 900px;
		padding: 40px 0 100px 0;
	}
}