@charset "utf-8";

/**************************************/
/* 共通設定 */
/**************************************/
/*基本設定
---------------------------------------------------------------------------*/
body {
	color: #202020;
	margin: 0px;
	padding: 0px;
	font: 14px/2 "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
	font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media screen and (max-width:1199px) { /* SP */
	body { font-size: 13px; }
}

/* iOS表示削除 */
* { -webkit-appearance: none; }

/*共通部
---------------------------------------------------------------------------*/


/*リンク（全般）設定
----------------------------------*/
a { color: #202020; }
a:hover {
	color: #202020;
	text-decoration: none;
}


/*その他
---------------------------------------------------------------------------*/
/***非表示***/
.none { display: none; }
@media screen and (min-width:1200px) { /* PC */
	.pc_none { display: none; }
}
@media screen and (max-width:1199px) { /* SP */
	.sp_none { display: none; }
}

/***幅***/
@media screen and (min-width:1200px) { /* PC */
	.inner, .inner02 {
		width: 1200px;
		margin: 0 auto;
	}
}
@media screen and (max-width:1199px) { /* SP */
	.inner02 { padding: 0 20px; }
}

/* スクロール時のフェードイン操作 */
/* 画面外にいる状態 */
.fadein {
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 500ms;
}

/* 画面内に入った状態 */
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}

/**************************************/
/* ページ共通設定(topページ/template) */
/**************************************/

/* ヘッダー
---------------------------------------------------------------------------*/
#header {
	width: 100%;
	background-color: #fff;
	box-shadow: 0px 1px 3px gray;
	z-index: 9999;
	position: fixed;
	top: 0;
	left: 0;
}
#header .col_01 { float: left; }
#header .col_02 { float: right; }
#header .col_03 { float: right; }
@media screen and (min-width:1200px) { /* PC・タブレット */
	#header { height: 80px; }
	#header .col_01 { width: 300px; }
	#header .col_02 { width: 80px; }
	#header .col_03 { width: 600px; }
}
@media screen and (max-width:1199px) and (min-width:400px) { /* SP */
	#header { height: 50px; }
	#header .col_01 { width: 160px; }
	#header .col_02 { width: 50px; }
	#header .col_03 { width: 150px; }
}
@media screen and (max-width:399px) { /* SP */
	#header { height: 40px; }
	#header .col_01 { width: 100px; }
	#header .col_03 { width: 120px; }
}

/*トップロゴ */
#top_logo img { width: 100%; }
@media screen and (min-width:1200px) { /* PC・タブレット */
	#top_logo {
		width: 250px;
		margin: 7px 0 0 10px;
	}
}
@media screen and (max-width:1199px) and (min-width:400px) { /* SP */
	#top_logo {
		width: 150px;
		margin: 5px 0 0 10px;
	}
}
@media screen and (max-width:399px) { /* SP */
	#top_logo {
		width: 100px;
		margin: 5px 0 0 0;
	}
}

/* トップエリア */
@media screen and (min-width:1200px) { /* PC */
	#top_area { margin: 7px 0; }
	#top_area a {
		display: block;
		float: left;
		margin-right: 10px;
	}
	/* TELボタン */
	#top_area .tel_btn {
		display: block;
		text-align: center;
		font-weight: bold;
		padding: 5px 0;
		width: 180px;
		background-color: #FF7400;
		color: #fff;
	  	border-radius: 2px;
		box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
		text-decoration : none;
		transition: all .3s;
		-webkit-transition: all .3s;
		line-height: 1.2;
	}
	#top_area .tel_btn div:first-child {
		float: left;
		margin: 5px 0 0 10px;
	}
	#top_area .tel_btn:hover {
		cursor: pointer;
		text-decoration: none;
		color: #fff;
		background-color: rgba(255,116,0,0.8);
		box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
	}
	/* お問い合わせボタン */
	#top_area .contact_btn {
		display: block;
		background-color: #4ea1d3;
		text-align: center;
		color: #fff;
		padding: 1px 0;
		width: 180px;
	  	border-radius: 2px;
		box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
		text-decoration : none;
		transition: all .3s;
		-webkit-transition: all .3s;
	}
	#top_area .contact_btn:hover {
		cursor: pointer;
		text-decoration: none;
		color: #fff;
		background-color: rgba(78,161,211,0.8);
		box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
	}
	/* 検索ボタン */
	#top_area .search_btn:before {
		content: '';
		display: inline-block;
		width: 41px;
		height: 41px;
		background-image: url(../../common/img/ic_search.png);
		background-repeat: no-repeat;
		background-position: center center;
		background-color: #202020;
	  	border-radius: 2px;
		box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
		transition: all .3s;
		-webkit-transition: all .3s;
	}
	#top_area .search_btn:hover:before {
		background-color: rgba(32,32,32,0.8);
		box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
	}
/*
	#top_area .mypage_btn {
		background-color: #f7f2da;
		color: #202020;
		width: 90px;
		padding: 4px 0 4px 35px;
		position: relative;
		text-decoration: none;
	}
	#top_area .mypage_btn:before {
		content: '';
		position: absolute;
		top: 0;
		left: 10px;
		width: 20px;
		height: 30px;
		background-image: url(../../common/img/ic_key.png);
		background-repeat: no-repeat;
		background-position: left center;
	}
	#top_area .mypage_btn:hover {
		background-color: #e9dc90;
	}
*/

/* ★★20241028追加★★ */
	#top_area .line_btn {
		display: block;
		background-color: #17AF05;
		text-align: center;
		color: #fff;
		padding: 6px 0 5px;
		width: 140px;
		border-radius: 2px;
		box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
		text-decoration : none;
		transition: all .3s;
		-webkit-transition: all .3s;
	}
	#top_area .line_btn:hover {
		cursor: pointer;
		text-decoration: none;
		color: #fff;
		background-color: rgba(23,175,5,0.8);
		box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
	}
/* ★★20241028追加★★ */
}

@media screen and (max-width:1199px) { /* SP */
	#top_area .tel_btn {
		display: block;
		border-left: 1px solid #D6BD22;
		float: left;
		position: relative;
		height: 50px;
		width: 49px;
	}
	#top_area .tel_btn:before {
		content: '';
		position: absolute;
		top: 0px;
		left: 0px;
		width: 49px;
		height: 50px;
		background-image: url(../../common/img/ic_tel.png);
		background-position: center center;
		background-repeat: no-repeat;
	}
	#top_area .tel_btn div { display: none; }
	#top_area .contact_btn {
		display: block;
		border-left: 1px solid #D6BD22;
		float: left;
		position: relative;
		height: 50px;
		width: 49px;
	}
	#top_area .contact_btn:before {
		content: '';
		position: absolute;
		top: 0px;
		left: 0px;
		width: 49px;
		height: 50px;
		background-image: url(../../common/img/ic_mail.png);
		background-position: center center;
		background-repeat: no-repeat;
	}
	#top_area .contact_btn div { display: none; }
	#top_area .search_btn, #top_area .mypage_btn { display: none; }
/* ★★20241028追加★★ */
	#top_area .line_btn {
		display: block;
		border-left: 1px solid #D6BD22;
		float: left;
		position: relative;
		height: 50px;
		width: 49px;
	}
	#top_area .line_btn:before {
		content: '';
		position: absolute;
		top: 5px;
		left: 5px;
		width: 40px;
		height: 40px;
		background-image: url(../../common/img/ic_line02.png);
		background-position: center center;
		background-size: cover;
		background-repeat: no-repeat;
	}
	#top_area .line_btn div { display: none; }
/* ★★20241028追加★★ */
}
@media screen and (max-width:399px) { /* SP */
	#top_area .tel_btn, #top_area .contact_btn, #top_area .line_btn {
		width: 39px;
		height: 40px;
	}
	#top_area .tel_btn:before, #top_area .contact_btn:before {
		width: 39px;
		height: 40px;
	}
	#top_area .line_btn:before {
		top: 2px;
		left: 2px;
		width: 35px;
		height: 35px;
	}
}

/* PCグローバルナビゲーション */
#pc_menu ul li a {
	display: block;
	text-decoration: none;
	color: #202020;
	font-size: 14px;
}
@media screen and (min-width:1200px) { /* PC */
	#pc_menu {
		width: 100%;
		clear: both;
	}
	#pc_menu ul li { float: left; }
	#pc_menu ul li a {
		margin: 10px 20px 5px 0;
		line-height:1.3;
	}
	#pc_menu ul li.select a, #pc_menu ul li a:hover { color: #caa92c; }
}
@media screen and (max-width:1199px) { /* SP */
	#pc_menu { display: none; }
}

/* モーダルメニュー */
.menu_btn {
    border-left: 1px solid #d6bd22;
    cursor: pointer;
    z-index: 1;
    position: relative;
}
.menu_btn span:after {
	position: absolute;
  content: url(../../common/img/menu.png);
}
/* 開閉用ボタンがクリックされた時のスタイル */
.open .menu_btn span:after {
    content: url(../../common/img/close.png);
}
.menu {
    position: fixed;
    display: table;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.8);
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: hidden;
    opacity: 0;
}
.menu ul {
    display: table-cell;
    vertical-align: middle;
}
.menu li {
    width: 300px;
    height: 60px;
    line-height: 60px;
    margin: 0 auto;
    text-align: center;
}
.menu li a {
    display: block;
    font-size: 18px;
    color: #fff;
	text-decoration: none;
}
.menu li a:hover { color: #d6bd22; }
.menu li a.tel_sp_btn {
	background-color: #FF7400;
	margin: 10px 0;
	line-height: 2;
}
.menu li a.tel_sp_btn:hover {
	color: #fff;
	opacity: 0.8;
}
.menu li a.contact_sp_btn {
	background-color: #4ea1d3;
	margin: 10px 0;
	line-height: 1.9;
}
.menu li a.contact_sp_btn:hover {
	color: #fff;
	opacity: 0.8;
}
/* ★★20241028追加★★ */
.menu li a.line_sp_btn {
	background-color: #17AF05;
	margin: 10px 0;
	padding: 7px 0;
	line-height: 1.9;
}
.menu li a.line_sp_btn:hover {
	color: #fff;
	opacity: 0.8;
}
/* ★★20241028追加★★ */
.menu li a.search_sp_btn {
	border: 3px solid #D6BD22;
	background-color: #fff;
	color: #202020;
	line-height: 1.8;
	margin: 10px 0;
}
.menu li a.search_sp_btn:hover {
	opacity: 0.8;
}
@media screen and (max-width:767px) { /* SP */
	.menu li {
		height: 40px;
		line-height: 40px;
	}
	.menu li a { font-size: 16px; }
}
/* 開閉用ボタンがクリックされた時のスタイル */
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
.open .menu {
    cursor: url(../../common/images/cross.svg),auto;
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: visible;
    opacity: 1;
}
.open .menu ul {
	width: 100%;
	height: 100%;
	overflow-y: scroll;
	-webkit-overflow-scrolling:touch;
}
@media screen and (min-width:1200px) { /* PC */
	.menu_btn {
	    width: 80px;
	    height: 80px;
	 }
	.menu_btn span:after {
		top: 20px;
		left: 20px;
	}
	.menu { top: 80px; }
}
@media screen and (max-width:1199px) { /* SP */
	.menu_btn {
	    width: 50px;
	    height: 50px;
	 }
	.menu_btn span:after {
		top: 5px;
		left: 5px;
	}
	.menu { top: 50px; }
}
@media screen and (max-width:399px) { /* SP */
	.menu_btn {
	    width: 40px;
	    height: 40px;
	 }
 	.menu { top: 40px; }
 .menu_btn span:after {
	 top: 0;
	 left: 0;
 }
}

/*コンテイナー
---------------------------------------------------------------------------*/
@media screen and (min-width:1200px) { /* PC */
	#container { margin-top: 80px; }
}
@media screen and (max-width:1199px) { /* SP */
	#container { margin-top: 50px; }
}

/*パンくずリスト*/
#breadcrumb { font-size: 12px; }
#breadcrumb li {
	display: inline-block;
	margin-right: 1em;
	vertical-align: middle;
}
#breadcrumb li a { text-decoration: underline; }
#breadcrumb li a:hover { color: #d6bd22; }
#breadcrumb li:first-child a { text-decoration: none; }
.icon_home:before {
	content: "\f015";
	font-size: 150%;
	color: #202020;
	font-family: "FontAwesome";
}
.icon_home:hover:before { color: #caa92c; }
@media screen and (max-width:1199px) { /* SP */
	#breadcrumb {
		font-size: 10px;
		padding: 0 10px;
	}
}

/* タイトル部 */
#page_title {
	background-color: #f7f2da;
	padding: 10px 0;
}
#page_title h2 { margin-bottom: 0; }

/* ページイメージ部 */
/* メイン部 */
#page_img {
	position: relative;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	padding: 100px 0 100px;
	color: #fff;
}
#page_img .overlay {
	background: rgba(0, 0, 0, 0.5);
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	position: absolute;
	z-index: 1;
}
#page_img .inner02 {
	position: relative;
	z-index: 2;
}
#page_img p { text-align: center; }
/* メニュー部 */
#page_img02 {
	background-color: #fff;
	border-bottom: 1px solid #CCCCCC;
}
#page_img02 .inner02 {
	background-repeat:no-repeat;
	background-position: top center;
	padding: 100px 0 100px;
	margin: 0 auto;
}
@media screen and (min-width:768px) { /* PC・タブレット */
	#page_img02 .inner02 {
		max-width: 500px;
		min-width: 500px;
	}
}
@media screen and (max-width:767px) { /* SP */
	#page_img { padding: 50px 0 50px; }
}

/* コンテンツ部 */
.contents01 {
	padding: 50px 0 50px;
	line-height: 1.5;
}

/* ページトップ */
#page_top {
	width: 40px;
	height: 40px;
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 1000;
	background-color: #202020;
	opacity: 0.8;
	transition: all .3s;
	-webkit-transition: all .3s;
}
#page_top:hover { opacity: 1; }
#page_top span { position: relative; }
#page_top span:before {
	content: "\f062";
	color: #fff;
	font-family: "FontAwesome";
	position: absolute;
	top: 6px;
	left: 14px;
}



/*フッター
---------------------------------------------------------------------------*/
#footer {}
/* フッターコンタクト */
#footer_contact {
	position: relative;
	background-repeat: no-repeat;
	border-top: 1px #202020 solid;
	border-bottom: 10px #d6bd22 solid;
	text-align: center;
	background-size: cover;
	background-position: center center;
	background-image: url("../../common/img/bg_footer_contact.jpg");
	color: #fff;
}
#footer_contact .overlay {
	background: rgba(0, 0, 0, 0.5);
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	position: absolute;
	z-index: 1;
}
#footer_contact .inner02 {
	position: relative;
	z-index: 2;
	max-width: 800px;
	margin: 0 auto;
}
#footer_contact p { font-size: 25px; }
#footer_contact .tel_btn {
	display: block;
	background-color: #FF7400;
	text-align: center;
	color: #fff;
	padding: 12px 10px;
  	border-radius: 4px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
	text-decoration : none;
	transition: all .3s;
	-webkit-transition: all .3s;
	font-size: 50px;
	margin-bottom: 20px;
}
#footer_contact .tel_btn:hover {
	cursor: pointer;
	text-decoration: none;
	color: #fff;
	background-color: rgba(255,116,0,0.8);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}
#footer_contact .tel_btn div { float: left; }
#footer_contact .tel_btn .col_01 { margin: 0 0 0 20px; }
#footer_contact .tel_btn .col_02 {
	font-size: 20px;
	margin: 20px 10px 0 -20px;
}
#footer_contact .tel_btn .col_03 { margin: 10px 0 0 0; }
#footer_contact .tel_btn .col_04 {
	margin: 10px 0 0 0;
	font-size: 12px;
}
#footer_contact .tel_btn .col_04 span { display: block; }
@media screen and (max-width:820px) { /* SP */
	#footer_contact .tel_btn { font-size: 40px; }
	#footer_contact .tel_btn .col_01 { margin: 0 0 0 30px; }
	#footer_contact .tel_btn .col_02 {
		font-size: 14px;
		margin: 20px 30px 0 0;
	}
	#footer_contact .tel_btn .col_03 {
		margin: 10px 30px 0 0;
	}
	#footer_contact .tel_btn .col_04 {
		clear: both;
		float: none;
	}
	#footer_contact .tel_btn .col_04 span {
		display: inline-block;
		margin-left: 10px;
	}
}
@media screen and (max-width:610px) { /* SP */
	#footer_contact p { font-size: 18px; }
	#footer_contact .tel_btn { font-size: 30px; }
	#footer_contact .tel_btn .col_01 {
		margin: -10px 0 0 0;
		width: 40%;
		text-align: right;
	}
	#footer_contact .tel_btn .col_02 {
		margin: 0;
		text-align: left;
		width: 60%;
	}
	#footer_contact .tel_btn .col_03 {
		margin: 0;
		clear: both;
		float: none;
	}
}

#footer_contact .contact_btn {
	display: block;
	width: 100%;
	background-color: #4ea1d3;
	text-align: center;
	color: #fff;
	padding: 12px 0;
  	border-radius: 4px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
	text-decoration : none;
	transition: all .3s;
	-webkit-transition: all .3s;
	font-size: 20px;
}
#footer_contact .contact_btn:hover {
	cursor: pointer;
	text-decoration: none;
	color: #fff;
	background-color: rgba(78,161,211,0.8);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}
@media screen and (min-width:768px) { /* PC */
	#footer_contact .contact_area > div:first-child > div { margin: 0 10px 0 0; }
	#footer_contact .contact_area > div:last-child > div { margin: 0 0 0 10px; }
}
@media screen and (max-width:767px) { /* SP */
	#footer_contact .contact_area > div:first-child { margin: 0 0 20px 0; }
	#footer_contact .contact_btn { font-size: 16px; }

}

/* フッターメニュー */
#footer_menu {
	padding: 30px 0;
	font-size: 12px;
	line-height: 1.4;
}
#footer_menu ul li a { text-decoration: none; }
#footer_menu ul.sitemap > li {
	margin-bottom: 20px;
}
#footer_menu ul.sitemap > li > ul {
	margin-bottom: 20px;
	margin-left: 20px;
}
#footer_menu ul.sitemap > li > ul > li > ul {
	margin-bottom: 20px;
	margin-left: 20px;
}
#footer_menu ul.sns_menu li { float: left; }
#footer_menu ul.sns_menu li a {
	display: block;
	width: 50px;
 }
 #footer_menu ul.sns_menu li a img { width: 100%; }
 @media screen and (max-width:767px) { /* SP */
 	#footer_menu div .col_4th { margin-bottom: 30px; }
 }


/*コピーライト
---------------------------------------------------------------------------*/
#copyright {
	background-color: #202020;
	text-align: center;
	padding: 10px 0;
	color: #fff;
	font-size: 12px;
}

/**************************************/
/* 共通パーツ設定 */
/**************************************/
/* ボタン
----------------------------------*/
/* ボタンhover時のtransition効果 */
.btn_trans {
	transition: all .3s;
	-webkit-transition: all .3s;
}
.btn_trans:before {
	transition: all .3s;
	-webkit-transition: all .3s;
}

/* 詳細ボタン */
.detail_btn {
	display: block;
	color: #202020;
	padding: 10px 0;
	width: 250px;
	float: right;
	border: 2px solid #D6BD22;
	background-color: #fff;
	text-align: center;
	text-decoration: none;
	position: relative;
	transition: all .3s;
	-webkit-transition: all .3s;
}
.detail_btn::before {
	content: '';
	position: absolute;
    top: 50%;
    left: 25px;
    width: 0;
    height: 0;
    margin-top: -5px;
    border: 5px solid transparent;
    border-left: 5px solid #202020;
	transition: all .3s;
	-webkit-transition: all .3s;
}
.detail_btn:hover {
	background-color: #D6BD22;
	color: #fff;
}
.detail_btn:hover:before { border-left: 5px solid #fff; }
@media screen and (max-width:767px) { /* SP */
	.detail_btn { width: 200px; }
}

/* ゴールド囲い黒字 */
.btn01 {
	display: inline-block;
	border: 2px solid #D6BD22;
	background-color: #fff;
	text-align: center;
	font-weight: bold;
	padding: 10px;
	text-decoration : none;
	transition: all .3s;
	-webkit-transition: all .3s;
  	border-radius: 4px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
}
.btn01:hover {
	cursor: pointer;
	text-decoration: none;
	border: 2px solid rgba(214,189,34,0.8);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}
/* ゴールド背景白字 */
.btn02 {
	display: inline-block;
	background-color: #D6BD22;
	text-align: center;
	color: #fff;
	padding: 12px 10px;
	text-decoration : none;
	transition: all .3s;
	-webkit-transition: all .3s;
  	border-radius: 4px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
}
.btn02:hover {
	cursor: pointer;
	text-decoration: none;
	color: #fff;
	background-color: rgba(214,189,34,0.8);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}

/* ゴールド背景白字 */
.btn03 {
	display: block;
	background-color: #202020;
	text-align: center;
	color: #fff;
	width: 80%;
	max-width: 200px;
	padding: 10px 0;
	cursor: pointer;
	text-decoration : none;
	transition: all .3s;
	-webkit-transition: all .3s;
  	border-radius: 4px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
}
.btn03:hover {
	cursor: pointer;
	text-decoration: none;
	color: #fff;
	background-color: rgba(32,32,32,0.8);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}

/* オレンジ黒字 */
.orange_btn01 {
	display: block;
	border: 3px solid #FF7400;
	background-color: #fff;
	text-align: center;
	font-weight: bold;
	padding: 10px;
	text-decoration : none;
  	border-radius: 4px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
	transition: all .3s;
	-webkit-transition: all .3s;
}
.orange_btn01:hover {
	cursor: pointer;
	text-decoration: none;
	border: 3px solid rgba(255,116,0,0.8);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}
/* オレンジ */
.orange_btn02 {
	display: block;
	background-color: #FF7400;
	text-align: center;
	color: #fff;
	padding: 12px 10px;
  	border-radius: 4px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
	text-decoration : none;
	transition: all .3s;
	-webkit-transition: all .3s;
}
.orange_btn02:hover {
	cursor: pointer;
	text-decoration: none;
	color: #fff;
	background-color: rgba(255,116,0,0.8);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}

/* オレンジでか */
.orange_btn03 {
	display: block;
	margin: 50px auto 50px;
	background-color: #FF7400;
	font-size: 20px;
	color: #fff;
	text-align: center;
	width: 100%;
	max-width: 600px;
	padding: 20px 0;
	cursor: pointer;
	text-decoration : none;
	border-radius: 4px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
	transition: all .3s;
	-webkit-transition: all .3s;
}
.orange_btn03:hover {
	cursor: pointer;
	text-decoration: none;
	color: #fff;
	background-color: rgba(255,116,0,0.8);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}
@media screen and (max-width:767px) { /* SP */
	.orange_btn03 {
		font-size: 16px;
		padding: 15px 0;
	}
}

/* 青黒字 */
.blue_btn01 {
	display: block;
	border: 3px solid #4ea1d3;
	background-color: #fff;
	text-align: center;
	font-weight: bold;
	padding: 10px;
	text-decoration : none;
  	border-radius: 4px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
	transition: all .3s;
	-webkit-transition: all .3s;
}
.blue_btn01:hover {
	cursor: pointer;
	text-decoration: none;
	border: 3px solid rgba(78,161,211,0.8);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}

/* 青 */
.blue_btn02 {
	display: block;
	background-color: #4ea1d3;
	text-align: center;
	color: #fff;
	padding: 12px 10px;
  	border-radius: 4px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
	text-decoration : none;
	transition: all .3s;
	-webkit-transition: all .3s;
}
.blue_btn02:hover {
	cursor: pointer;
	text-decoration: none;
	color: #fff;
	background-color: rgba(78,161,211,0.8);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}

/* 緑 */
.green_btn02 {
	display: block;
	background-color: #17AF05;;
	text-align: center;
	color: #fff;
	padding: 12px 10px;
  	border-radius: 4px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
	text-decoration : none;
	transition: all .3s;
	-webkit-transition: all .3s;
}
.green_btn02:hover {
	cursor: pointer;
	text-decoration: none;
	color: #fff;
	background-color: rgba(23,175,5,0.8);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}

/* 青でか */
.blue_btn03 {
	display: block;
	margin: 50px auto 50px;
	background-color: #4ea1d3;
	font-size: 20px;
	color: #fff;
	text-align: center;
	width: 100%;
	max-width: 600px;
	padding: 20px 0;
	cursor: pointer;
	text-decoration : none;
	border-radius: 4px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.12), 0 3px 20px 0 rgba(0,0,0,0.12), 0 5px 6px -2px rgba(0,0,0,0.2);
	transition: all .3s;
	-webkit-transition: all .3s;
}
.blue_btn03:hover {
	cursor: pointer;
	text-decoration: none;
	color: #fff;
	background-color: rgba(78,161,211,0.8);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}
@media screen and (max-width:767px) { /* SP */
	.blue_btn03 {
		font-size: 16px;
		padding: 15px 0;
	}
}


/* ライン
----------------------------------*/
/* 白ライン */
.line01 {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #fff;
}


/* タイトル
----------------------------------*/
h2 {
	font-size: 30px;
	margin-bottom: 30px;
	padding: 0 0 0 50px;
	font-weight: normal;
	position: relative;
}
h2:before {
	display: block;
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	width: 40px;
	height: 40px;
	background-image: url('../../common/img/ic_flower.png');
	background-size: contain;
}
@media screen and (max-width:1199px) { /* SP */
	h2 {
		font-size: 20px;
		margin-bottom: 20px;
		padding: 0 0 0 35px;
	}
	h2:before {
		width: 25px;
		height: 25px;
		top: 8px;
	}
}

h3 {
	font-size: 25px;
	margin-bottom: 20px;
	font-weight: normal;
	border-bottom: 2px solid #d6bd22;
}
@media screen and (max-width:1199px) { /* SP */
	h3 { font-size: 18px; }
}

h4 {
	font-size: 20px;
	margin-bottom: 10px;
}
@media screen and (max-width:1199px) { /* SP */
	h4 { font-size: 14px; }
}

h5 {
	display: inline-block;
	padding: 5px 20px;
	font-size: 14px;
	background-color: #d6bd22;
	color: #fff;
	margin-bottom: 10px;
}
@media screen and (max-width:1199px) { /* SP */
	h5 { font-size: 13px; }
}

h6 {
	border-left: 5px solid #d6bd22;
	padding-left: 5px;
	margin-bottom: 10px;
	font-size: 14px;
}
@media screen and (max-width:1199px) { /* SP */
	h6 { font-size: 13px; }
}

.treat_title {
	text-align: center;
	margin-bottom: 20px;

}
.treat_title p {
	margin-bottom: 0;
	display: inline-block;
	position: relative;
	font-size: 28px;
}
.treat_title p:before {
	content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 1px;
    margin: 0 auto;
    text-align: center;
    background-image: -webkit-linear-gradient(left, transparent, #000 25%, #000 75%, transparent);
    background-image: linear-gradient(to right, transparent, #000 25%, #000 75%, transparent);
    background-position: center;
    background-repeat: no-repeat;
}
@media screen and (max-width:999px) { /* SP */
	.treat_title p { font-size: 18px; }
}

/* リスト
----------------------------------*/
/* ※1 */
.kome_number { counter-reset: kome_count 0; }
.kome_number > li {
	margin-left:2em;
	text-indent:-2em;
}
.kome_number > li:before {
	counter-increment: kome_count;
	content: "※" counter(kome_count) "\0020";
}
/* 1). */
.kakko_number { counter-reset: kakko_count 0; }
.kakko_number > li {
	margin-left: 2em;
	text-indent: -2em;
	margin-bottom: 20px;
}
.kakko_number > li:before {
	counter-increment: kakko_count;
	content: counter(kakko_count) ").\0020";
}
/* ・ */
.dot_list > li {
	margin-left:1.5em;
	text-indent:-1.5em;
	line-height: 1.8;
}
.dot_list > li:before { content: "・\0020"; }

.daiya_list > li {
	margin-left:1.5em;
	text-indent:-1.5em;
	line-height: 2;
}
.daiya_list > li:before {
	content: "◆\0020";
	color: #D6BD22;
}

.kome {
	margin-left:1.5em;
	text-indent:-1.5em;
}
.kome:before { content: "※\0020"; }

.daiya {
	margin-left:1.5em;
	text-indent:-1.5em;
}
.daiya:before {
	content: "◆\0020";
	color: #D6BD22;
}

.new:before {
	content: "new\0020";
	color: #F13131;
	font-size: 12px;
	font-weight: bold;
}

/* 効果リスト */
.effect_list {
	border: 10px solid #F7F2DA;
	padding: 20px;
	background-color: #fff;
}
.effect_list > li {
	margin-left:1.5em;
	text-indent:-1.5em;
	line-height: 2;
}
.effect_list > li:before {
	content: "◆\0020";
	color: #D6BD22;
}

/* 表風リスト */
@media screen and (min-width:1200px) {
	.list01 {
		width: 1200px;
		background-color: #202020;
		overflow:hidden; /*floatしたので高さ確保*/
	}
	.list01 dt {
		float: left;
		padding:10px 20px;
		width: 200px;
		color: #FFFFFF;
		border-top:1px solid #FFFFFF;
	}
	.list01 dd:nth-child(4n+2) {
		margin-left: 220px;
		padding:10px 20px;
		background-color: #f7f2da;
		border-top:1px solid #FFFFFF;
	}
	.list01 dd:nth-child(4n) {
		margin-left: 220px;
		padding:10px 20px;
		background-color: #FFFFFF;
		border-top:1px solid #FFFFFF;
	}
	.list01 dt:nth-child(-n+2),	.list01 dd:nth-child(-n+2) { border-top: none; }
}
@media screen and (max-width:1199px) { /* SP */
	.list01 dl,dt,dd {
		margin: 0;
		padding: 0;
	}
	.list01 {
		width: 100%;
		overflow:hidden; /*floatしたので高さ確保*/
	}
	.list01 dt {
		display: block;
		padding:10px;
		background-color: #202020;
		color: #FFFFFF;
	}
	.list01 dd {
		display: block;
		padding:10px;
		background-color: #FFFFFF;
	}
}

/* 表風リスト2 */
@media screen and (min-width:1200px) {
	.list02 {
		width: 1200px;
		background-color: #caa92c;
		overflow:hidden; /*floatしたので高さ確保*/
	}
	.list02 dt {
		float: left;
		padding:10px 20px;
		width: 200px;
		color: #FFFFFF;
		border-top:1px solid #FFFFFF;
	}
	.list02 dd:nth-child(4n+2) {
		margin-left: 220px;
		padding:10px 20px;
		background-color: #f7f2da;
		border-top:1px solid #FFFFFF;
	}
	.list02 dd:nth-child(4n) {
		margin-left: 220px;
		padding:10px 20px;
		background-color: #FFFFFF;
		border-top:1px solid #FFFFFF;
	}
	.list02 dt:nth-child(-n+2),	.list02 dd:nth-child(-n+2) { border-top: none; }
}
@media screen and (max-width:1199px) { /* SP */
	.list02 dl,dt,dd {
		margin: 0;
		padding: 0;
	}
	.list02 {
		width: 100%;
		overflow:hidden; /*floatしたので高さ確保*/
	}
	.list02 dt {
		display: block;
		padding:10px;
		background-color: #caa92c;
		color: #FFFFFF;
	}
	.list02 dd {
		display: block;
		padding:10px;
		background-color: #FFFFFF;
	}
}


/* 表風リスト3 */
.list03 {
	width: 100%;
	background-color: #caa92c;
	overflow:hidden; /*floatしたので高さ確保*/
}
.list03 dt {
	float: left;
	padding:10px 20px;
	width: 200px;
	color: #FFFFFF;
	border-top:1px solid #FFFFFF;
}
.list03 dd:nth-child(4n+2) {
	margin-left: 220px;
	padding:10px 20px;
	background-color: #f7f2da;
	border-top:1px solid #FFFFFF;
}
.list03 dd:nth-child(4n) {
	margin-left: 220px;
	padding:10px 20px;
	background-color: #FFFFFF;
	border-top:1px solid #FFFFFF;
}
.list03 dt:nth-child(-n+2),	.list03 dd:nth-child(-n+2) { border-top: none; }

@media screen and (max-width:1199px) { /* SP */
	.list03 dt { width: 120px; }
	.list03 dd:nth-child(4n+2), .list03 dd:nth-child(4n) { margin-left: 140px; }
}

/* 画像設定
----------------------------------*/
.img01 {
	margin: 0 auto;
	display: block;
}
@media screen and (max-width:1199px) { /* SP */
	.img01 { width: 100%; }
}

.img02 {
	width: 100%;
	max-width: 300px;
}

/* フレーム
----------------------------------*/
.frame01 {
	background-color: #f7f2da;
	display: inline-block;
}

.frame02 {
	background-color: #fff;
	padding: 20px;
	border: double #D6BD22 3px;
}

.frame03 {
	background-color: #fff;
	text-align: center;
	padding: 0 10px;
	border-radius: 10px;
}

/* アイコン
----------------------------------*/
.icon_tel:before {
	content: "\f095\0020";
	font-size: 140%;
	color: #fff;
	font-family: "FontAwesome";
}
.icon_tel02:before {
	content: "\f095\0020";
	font-size: 140%;
	color: #FF7400;
	font-family: "FontAwesome";
}
.icon_mail:before {
	content: "\f0e0\0020";
	font-size: 140%;
	color: #fff;
	font-family: "FontAwesome";
}
.icon_pc:before {
	content: "\f109\0020";
	font-size: 140%;
	color: #fff;
	font-family: "FontAwesome";
}
.icon_search:before {
	content: "\f002\0020";
	font-size: 140%;
	color: #202020;
	font-family: "FontAwesome";
}
.icon_pdf:before {
	content: "\f1c1\0020";
	font-size: 140%;
	color: #fff;
	font-family: "FontAwesome";
}
/* ★★20231227追加★★ */
.icon_kotei:before {
	content: "\f08d\0020";
	font-size: 120%;
	color: #caa92c;
	font-family: "FontAwesome";
}
/* ★★20231227追加★★ */
/* ★★20241028追加★★ */
.icon_line {
	display: inline-block;
	content: "";
	position: relative;
	top: 0;
	left: -10px;
	width: 30px;
	height: 30px;
	background-image: url('../../common/img/ic_line01.png');
	background-size: contain;
	vertical-align: top;
}

.icon_line :before {
/*
	content: "\f3c0\0020";
	font-size: 140%;
	color: #fff;
	font-family: "FontAwesome";
*/


}
/* ★★20241028追加★★ */

/* リンク
----------------------------------*/
.gaibu_link {
	position: relative;
	padding: 0 25px 0 0;
}
.gaibu_link:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	background: url("../../common/img/ic_link.png") 0 0 no-repeat;
	background-size: 20px 20px;
	width: 20px;
	height: 20px;
}

.pdf_link {
	position: relative;
	padding: 0 0 0 25px;
}
.pdf_link:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: url("../../common/img/ic_pdf.png") 0 0 no-repeat;
	background-size: 20px 20px;
	width: 20px;
	height: 20px;
}

/* テーブル
----------------------------------*/
.tb01 {
	border-collapse: collapse;
	line-height: 1.5;
	width: 100%;
}
.tb01 th, .tb01 td {
	border: 1px solid #ccc;
	padding: 10px;
	width: 20%
}
.tb01 th { background-color: #f7f2da; }
.tb01 td { background-color: #fff; }
.tb01 .title {
	text-align: center;
	background-color: #202020;
}
.tb01 .title a { color: #fff; }
.tb01 .sub_title {
	text-align: center;
	background-color: #CCCCCC;
}
.tb01 .sent { padding: 5px; }

/* ページ内リンクエリア
----------------------------------*/
.inlink_area {
	padding: 30px;
	border: 2px solid #CCCCCC;
	background-color: #ececec;
}
.inlink_area li {
		line-height: 1.2;
		padding: 10px 0;
}
@media screen and (min-width:1200px) { /* PC */
	.inlink_area li {
		float: left;
		width: 31%;
	}
}
@media screen and (max-width:1199px) and (min-width:768px) { /* タブレット */
	.inlink_area li {
		float: left;
		width: 45%;
	}
}

.inlink_area02 li {
		line-height: 1.2;
		padding: 10px;
		display: inline-block;
}
.inlink_area02 li a {
	background-color: #D6BD22;
	padding: 5px 20px;
	border-radius: 20px;
	color: #fff;
	text-decoration: none;
	display: inline-block;
}


/* 機能エリア
----------------------------------*/
.function_area { counter-reset: func_count 0; }
.function_area > div { margin-bottom: 30px; }
.function_area > div:last-child { margin-bottom: 0; }
.function_area > div p.title {
	position: relative;
	padding: 2px 0 0 40px;
	font-size: 16px;
	margin-bottom: 10px;
	color: #caa92c;
	font-weight: bold;
}
.function_area > div p.title:before {
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: func_count;
	content: counter(func_count);
	background-color: #d6bd22;
	display: block;
	width: 30px;
	height: 28px;
	padding: 2px 0 0 0;
	text-align: center;
}

/* 治療の流れエリア
----------------------------------*/
.flow_area { counter-reset: flow_count 0; }
.flow_area > div { margin-bottom: 30px; }
.flow_area > div:last-child { margin-bottom: 0; }
.flow_area > div p.title {
	position: relative;
	padding: 2px 0 0 4em;
	font-size: 16px;
	margin-bottom: 10px;
	font-weight: bold;
}
.flow_area > div p.title:before {
	color: #caa92c;
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: flow_count;
	content: "Step" counter(flow_count) ".";
	padding: 2px 0 0 0;
	text-align: center;
}
@media screen and (max-width:1199px) { /* SP */
	.flow_area > div p.title { font-size: 14px; }
}

/* 料金 */
td.price {
	font-weight: bold;
	text-align: right;
}

/* Q&A
----------------------------------*/
dl.qa_area dt {
	background-color: #f6f4f7;
	padding: 5px 50px 5px 10px;
	color: #333;
	border: 1px solid #ccc;
	background-image: url(../../common/img/ic_plus.png);
	background-size: 40px 40px;
	background-repeat: no-repeat;
	background-position: center right;
	margin-bottom: 10px;
}
dl.qa_area dt.active {
	background-image: url(../../common/img/ic_muins.png);
	margin-bottom: 0;
}
dl.qa_area dt p:first-child, dl.qa_area dd p:first-child {
	display: table-cell;
	background-repeat: no-repeat;
	background-size: 90%;
	width: 40px;
	height: 40px;
}
dl.qa_area dt p:first-child {
	background-image: url(../../common/img/ic_q.png);
	background-position: center center;
}
dl.qa_area dd p:first-child {
	background-image: url(../../common/img/ic_a.png);
	background-position: top center;
}
dl.qa_area dt p:first-child:before, .qa_contents dl dd p:first-child:before {
	content: "";
	display: block;
	padding-top: 50%;
}
dl.qa_area dt p:last-child, dl.qa_area dd p:last-child  {
	display: table-cell;
	padding: 0 0 0 10px;
	vertical-align: middle;
}
dl.qa_area dd {
	background-color: #f6f4f7;
	padding: 10px;
	display: none;
	margin-bottom: 10px;
}
@media screen and (max-width:768px) { /* SP */
	dl.qa_area dt {
		background-size: 30px 30px;
		padding: 10px 30px 10px 10px;
	}
	dl.qa_area dt p:first-child, dl.qa_area dd p:first-child { width: 30px; }
}

/* 各施術メニュー
----------------------------------*/
/* メニューリスト */
.menu_list .title {
	text-align: center;
	font-weight: bold;
	font-size: 20px;
}
.menu_list a {
	display: block;
	margin: 10px 10px;
	padding: 10px;
	background-color: #fff;
	text-decoration: none;
	text-align: center;
	min-height: 21px;
}
.menu_list a:hover {
	background-color: #202020;
	color: #fff;
}
@media screen and (max-width:1199px) { /* SP・タブレット */
	.menu_list .title { font-size: 16px; }
}

/* 説明部 */
.top_sent { margin-bottom: 30px; }


/* サイト内検索
----------------------------------*/
#serach {
	padding: 10px;
	background-color:#ececec;
}
#serach .gsc-control-cse {
	padding: 10px;
	background-color:#ececec;
	border-color: #ececec;
}
#serach .gsc-input {
	padding:0;
}
#serach .gsc-input-box {
	border-color: #FFF;
	height: 40px;
}
#serach .gsc-input .gsib_a input { line-height: 30px; }
#serach input.gsc-search-button {
	border-color: #202020 !important;
	background-color: #202020 !important;
	border-radius: 0px;
	margin: -3px 0 0 0;
	padding: 13px 25px;
}
