/* フォーム制御
----------------------------------------------------*/
.my_files br{ display:none; }
.my_file_close{ display:none; }
.my_file_open{ display:block; }
input.my_file_open { display:inline-block; }
.submit_check{ display: block; }

/* トップページ [home]
----------------------------------------------------*/
/* 新着情報 */
.pc_body #tpNews{
	padding: 24px 0;
}
.pc_body #tpFaq{
	padding: 4px 0 24px;
}
.pc_body .tpTopics_cont{
	width: 14%;
	float: left;
}
	.pc_body #tpFaq_lef{
		margin: 12px 0;
	}
	.pc_body .tpTopics_lef .tpTopics_tit{
		margin-top: 3px;
		margin-bottom: 0;
		font-size: 1.3em;
		font-weight: bold;
		line-height: 1;
	}
	.pc_body .tpTopics_lef a{
		display: block;
		font-size: .95em;
	}
		.pc_body .tpTopics_lef a:before{
			content: "f";
			font-family: "fontelloDef";
			margin-right: 2px;
		}
.pc_body .tpTopics_rig{
	width: 84%;
}
	.pc_body #tpNews_rig,
	.pc_body #tpFaq_rig #tpFaq_list{
		border-left: 4px solid #eee;
	}
	.pc_body #tpNews_rig #tpNews_list,
	.pc_body #tpFaq_rig #tpFaq_list{
		padding: 0 12px;
	}
	.pc_body #tpNews_rig #tpNews_list{
		position: relative;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
	}
	#tpNews_list .news_li{
		padding: 5px 0;
	}
		.pc_body #tpNews_rig .news_link{
			display: block;
		}
		.pc_body #tpNews_rig .news_date{
			width: 246px;
			float: left;
		}
		.pc_body #tpNews_rig .news_title{
			width: 546px;
			float: left;
		}
		.pc_body #tpFaq_rig #tpFaq_list{
			box-sizing: border-box;
		}

		.newsFlg:after{
			content: attr(data-flg);
			display: inline-block;
			text-align: center;
			width: 80px;
			padding:2px 10px;
			margin-left: 10px;
			background: #217218;
			color: #fefefe;
			font-size: 0.8em;
			border-radius: 4px;
		}
		.newsFlg.newsFlg_1:after{ background: #800080; }
		.newsFlg.newsFlg_2:after{ background: #be5500; }
		.newsFlg.newsFlg_3:after{ background: #1052ac; }

/* 本文 */
#tpCont{
	background-color: #84ccc9;
}
.pc_body #tpContArea{
	padding: 78px 0 56px;
}
	.pc_body #tpContMain{
		line-height: 2;
	}
		.pc_body #tpContMain .tpCont_tit{
			font-size: 2.4em;
			font-weight: bold;
			margin-bottom: 36px;
		}
		.pc_body #tpContMain .pBtn a{
			padding-left: 30px;
			padding-right: 30px;
			text-align: left;
			box-sizing: border-box;
		}

/* バナー */
.pc_body #tpBan{
	margin: 52px 0;
}
.pc_body #tpBan_lef, .pc_body #tpBan_rig{
	width: 50%;
	float: left;
}
.tpBan_cont{
	display: block;
	height: 300px;
	/* padding: 128px 0 62px 40px; */
	box-sizing: border-box;
	text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
	position: relative;
}
.tpBan_cont.hover{
	opacity: 0.9;
}
#tpBan_lef .tpBan_cont{
	background-color: #7ecef4;
}
#tpBan_rig .tpBan_cont{
	background-color: #cca0e6;
}
	/* 文章 */
	.tpBan_txtArea{
		position: absolute;
		top: 128px;
	}
	.pc_body #tpBan_lef .tpBan_txtArea{
		right: 110px;
	}
	.pc_body #tpBan_rig .tpBan_txtArea{
		left: 40px;
	}
	.tpBan_txtArea p{
		font-weight: bold;
		position: relative;
		z-index: 1;
	}
	.tpBan_subTit{
		font-size: 1.1em;
	}
	.tpBan_tit{
		margin-bottom: 8px;
		font-size: 2.2em;
		letter-spacing: -0.05em;
	}
	.tpBan_anc:before{
		content: "f";
		font-family: "fontelloDef";
		margin-right: 4px;
	}

	/* 背景画像 */
	.tpBan_cont:after{
		content: "";
		display: block;
		width: 330px;
		background: url(../img/tpBanBg_about.png) no-repeat center center;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 0;
	}
	#tpBan_rig .tpBan_cont:after{
		background-image: url(../img/tpBanBg_merit.png);
	}
	.pc_body #tpBan_rig .tpBan_cont:after{
		width: auto;
		background-position-x: 24vh;
		left: 0;
	}


/* 機能一覧 */
#tpServiceTit{
	margin-bottom: 48px;
	font-size: 2em;
	font-weight: bold;
	text-align: center;
}

.pc_body .service_box{
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}

.pc_body .service_block{
	width: 33.3%;
	padding: 0 26px;
	margin-bottom: 36px;
	text-align: center;
	box-sizing: border-box;
}
.pc_body .service_block:nth-child(3n){
	float: right;
}
	.service_img{
		display: inline-block;
		margin-bottom: 6px;
		border-radius: 50%;
	}
	a.service_lnk.hover .service_img{
		opacity: 0.8;
	}
	.pc_body .service_tit{
		margin-bottom: 4px;
		font-size: 1.35em;
		font-weight: bold;
	}
	.pc_body .service_txt{
		font-size: 1.05em;
	}
	.pc_body .service_anc{
		display: block;
		padding: 14px 0;
		border: 1px solid #333;
		margin: 14px;
		border-radius: 8px;
	}
	a.service_lnk.hover .service_anc{
		background-color: #f1f1f1;
	}

/* イベント向け情報 */
#tpEventArea{
	padding: 72px 0;
	margin: 0 0 -62px;
	background-color: #ffe5e5;
}
#tpEventArea .tpEventTitle{
	margin-bottom: 24px;
	font-size: 2em;
	font-weight: bold;
	text-align: center;
}
#tpEventArea table{
	width: 100%;
	background: none;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 14px;
	overflow: hidden;
	margin-bottom: 48px;
	font-size: 1.2em;
}
#tpEventArea table.no_pctable{
	margin: 0 auto 24px;
	width: 93%;
	font-size: 1em;
}
#tpEventArea th,
#tpEventArea td {
	padding: 16px 10px;
	border:none;
	border-left: 2px solid #ffe5e5;
	border-bottom: 2px solid #ffe5e5;
	box-shadow: none;
	min-width: none;
}
#tpEventArea table.no_pctable th,
#tpEventArea table.no_pctable td {
	padding: 8px 10px;
}

#tpEventArea th{
	background: #459252;
	color: #fefefe;
}
#tpEventArea td{
	background: #fff;
}
#tpEventArea p{
	margin: -20px auto 46px;
	width: 93%;
}

/* 新着情報 [news]
----------------------------------------------------*/
#sub_body .news_li{
	border-bottom: 1px dotted #c8c8c8;
}
	#sub_body .news_link{
		padding: 6px 10px;
		display: block;
		text-decoration: none;
	}
		#sub_body .news_title{
			display: block;
		}

/* アプリ機能一覧 [service]
----------------------------------------------------*/
/* single */
#single_service .service_block{
	margin: 0 auto 24px;
	float: none;
}

/* 取扱店一覧 [shoplist]
----------------------------------------------------*/
#searchform_area #searchsubmit{
	padding: .618em 2em;
	border-color: #40afaa;
	background-color: #84ccc9;
	box-shadow: none;
}

#shoplist_count{
	text-align: center;
}
#shoplist_count p{
	font-size: 1.1em;
}
#shoplist_count p span{
	font-size: 1.2em;
	font-weight: bold;
	color: #a40000;
}

.pc_body #shoplist_filter{
	display: flex;
	justify-content: left;
	border: 2px solid #dfdfdf;
	width: 98%;
	margin: 0 auto 10px;
	padding: 8px 18px 7px;
	box-sizing: border-box;
}
#shoplist_filter>p{
	margin: 0 18px 0 0;
}
#ticket_kome,
#kamapo_kome,
#otsukaibin_kome{
	margin-right: 12px !important;
	text-align: right;
}
#ticket_kome input,
#kamapo_kome input,
#otsukaibin_kome input{
	margin-right: 4px;
	vertical-align: text-top;
}

#shoplist_table{
	width: 98%;
	margin: 0 auto;
}
#shoplist_table th{
	background-color: #eaeaea;
}
#shoplist_table th:first-child{
	width: 28%;
}
#shoplist_table th:nth-child(2),
#shoplist_table th:nth-child(3),
#shoplist_table th:nth-child(4){
	width: 14%;
}
#shoplist_table th:last-child{
	width: 21%;
}
.shoplist_table tr.hide{
	display: none;
}
#shoplist_table a.shoplist_anc{
	color: #008c86;
}
.shoplist_anc{
	display: block;
}
.shoplist_area_td{
	display: inline-block;
	padding: 2px 4px;
	font-size: 0.85em;
	background: #c6f1ef;
}
.shoplist_addr{
	font-size: 0.95em;
}
.pc_body .shoplist_addr{
	margin-left: 8px;
}
#shoplist_table a.shoplist_addr{
	color: #008c86;
}

/* 取扱店一覧 確認用 */
#shoplist_check_body #shoplist_filter,
#shoplist_check_body #shoplist_filter + ul,
#shoplist_check_body .editAnc,
#shoplist_check_body .shoplist_area_td{
	display: none;
}

/* 加盟店舗紹介 [memberlist]
----------------------------------------------------*/
#memlistBlock{
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}
.memlistAnc{
	display: block;
	margin-bottom: 32px;
}
.pc_body .memlistAnc{
	width: 320px;
}
.pc_body .memlistAnc:nth-child(3n-1){
	margin-right: 1%;
	margin-left: 1%;
}
.pc_body .memlistImg{
	width: 320px;
	height: 240px;
	overflow: hidden;
}
.pc_body .memlistImg img{
	max-width: 320px;
	transition: all .3s linear;
}
.memlistAnc.hover img{
	transform: scale(1.1);
}
.memlistCont{
	padding: 6px 8px;
}
.memlist_tit{
	font-size: 1.2em;
	letter-spacing: 0;
}
.memlist_type{
	font-size: 0.85em;
	line-height: 1.3;
}
.memlist_txt{
	font-size: .95em;
}

/* single */
.pc_body #sin_memlistInfo{
	display: flex;
	flex-wrap: nowrap;
	justify-content: left;
}
.pc_body .sin_memlist_lef, .pc_body .sin_memlist_rig{
	width: 50%;
}

/* サイトマップ [sitemap][404]
----------------------------------------------------*/
#pagelist{ margin: 0 0 1em; }
#pagelist a{ text-decoration: none; display: block; padding: .414em 1em; border-bottom: 1px dotted #ccc; }
#pagelist li li{ padding-left: 1em; }

/* 404 */
#notfound{ text-align: center; }

/* アクセスマップ [access]
----------------------------------------------------*/
.ac_map{ background: #eee; border: 1px solid #ccc; padding: .414em; margin: 0 0 1em; text-align: center; }
.ac_map iframe{ border: 1px solid #ccc; width: 98%; }

/* よくある質問 [faq]
----------------------------------------------------*/
.faqTit{
	position: relative;
}
.faqTit:after{
	content: "+";
	font-family: "fontelloDef";
	color: #6a6a6a;
	display: inline-block;
	position: absolute;
	top: 9px;
	right: 12px;
}
.faqTit.active:after{
	content: "-";
}

.faqTit label{
	cursor: pointer;
	display: block;
	padding: .414em 34px .414em 40px;
	border-bottom: 1px dotted #ccc;
	margin: 0 0 .414em;
}
.pc_body .faqTit label:before{
	content: "Q";
	color: #fefefe;
	font-weight: bold;
	margin: 0 6px 0 -36px;
	padding: 1px 8px;
	font-size: 1.1em;
	background: #84ccc9;
	border-radius: 4px;
	display: inline-block;
	*display: inline;
	*zoom: 1;
}
.faqCheck{
	display: none;
}
input[type="checkbox"].faqCheck + .faqBlock{
	height: 0;
	padding: 0 .8em;
	overflow: hidden;
}
input[type="checkbox"].faqCheck:checked + .faqBlock{
	height: auto;
	margin: 0 0 1em;
	padding: .618em .8em;
	border: 1px solid #c8c8c8;
	border-radius: 4px;
}
.faqBlock p:last-child{
	margin-bottom: 0;
}

/* スタッフ紹介 [staff]
----------------------------------------------------*/
.staff_list{ margin: 0 0 1em; border-bottom: 2px solid #ccc; padding: 0 10px 10px; }
.sl_img{ width: 30%; padding: 5px; float: left; border: 1px solid #ccc; border-radius: 3px; background: #f8f8f8; text-align: center; }
.sl_img img{ max-width: 100%; width: auto; height: auto; }
.sl_rig{ width: 66%; float: right; }
.sl_title{ font-weight: bold; border-bottom: 1px dotted #ccc; padding: 0 .618em; margin: 0 0 .38em; }
.sl_com{ font-size: .95em; }
.sl_com p{ padding: 0 .618em; margin: 0 0 .618em; }

/* おつかい便 [delivery]
----------------------------------------------------*/
.delivery_body h1{
	padding: 0;
	background: none;
}
.delivery_body h1:after{
	display: none;
}

/* 使い方 [howto]
----------------------------------------------------*/
/* 利用者向け */
#howtoUTit{
	margin: 1em 12px;
	font-size: 1.05em;
	font-weight: bold;
}
#howtoUChild #howtoUTit{
	padding: 0.8em 12px;
	margin: 1em 0;
	font-size: 1em;
	background-color: #e0e0e0;
}
#howtoListBlock{
	margin-bottom: 42px;
}
#howtoListBlock .howto_u_subTit{
	padding: .8em 60px .8em 12px;
	margin: 0 0 .414em;
	background-color: #e0e0e0;
	position: relative;
}
#howtoListBlock .howto_u_subTit.hover{
	cursor: pointer;
}
.howto_u_subTit.active:after{
	content: "閉じる";
}
.howto_u_subTit:after{
	content: "開く";
	font-size: .8em;
	font-weight: bold;
	color: #6a6a6a;
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
}
.howto_u_list:not(:first-of-type){
	display: none;
}
.howto_u_li{
	border-bottom: 1px solid #a8a8a8;
}
.howto_u_li a{
	display: block;
	padding: 14px 32px 14px 24px;
	font-size: .95em;
	position: relative;
}
.howto_u_li a:after{
	content: "h";
	font-family: "fontelloDef";
	display: inline-block;
	font-size: 1.2em;
	font-weight: bold;
	color: #6a6a6a;
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
}
@media (min-width: 765px){
	.howto_u_li{
		margin: 0 1em;
	}
}

/* 利用者向け-single */
.howto_u_body .sing_back{
	margin: 0 12px;
}
.howto_u_body .sing_back a{
	background-color: #d98c4e;
}

/* かまコイン tpl_coin.php
----------------------------------------------------*/
#sub_body.coin_body{
	padding-top: 160px;
	margin-top: -160px;
}
#sub_body.coin_body .coin_cont{
	padding: 80px 0;
}
#sub_body.coin_body .coin_cont:last-child{
	padding-bottom: 0;
}
/* 無限ループ */
.coin_repeat_slide img{
	max-width: none !important;
}
/* タブ切り替え */
.coin_tab{
	border-radius: 8px;
	overflow: hidden;
}
.coin_tab .tabMenu{
	display: flex;
	flex-wrap: nowrap;
	margin-bottom: 0;
}
.coin_tab .tabMenu li{
	width: 50%;
	padding: .6em 1em;
	font-weight: 600;
	text-align: center;
}

/* その他
----------------------------------------------------*/
/* index.php */
.catArea{ margin-bottom: 19px; border-bottom: 3px solid #e0e0e0; box-shadow: 0 -1px 0 #c0c0c0 inset; }
.catArea .the_content{ padding: 0 6px; }

/* single.php */
.sing_back{ padding: 20px 0 10px; text-align: center; }
.sing_back a{ padding: 4px 15px; background: #1a0606; color: #fefefe; border-radius: 3px; text-decoration: none; letter-spacing: 1px; display: block; }
.sing_back a:before{ font-family: "fontelloDef"; content: "l"; font-weight: normal; margin: 0 4px 0 0; }
.sing_back a.hover{ background: #eee; color: #333; }

/* Password */
.pass_pageArea{ border: 1px solid #c8c8c8; background: #f8f8f8; border-radius: 4px; text-align: center; padding: 10px 0 0; margin: 0 0 1em; }
.pass_pageArea input[type="password"]{ margin: 0 8px 0 0; }
.pass_pageArea input[type="submit"]{ font-weight: bold; color: #333; border: 1px solid #c0c0c0; border-radius: 5px; padding: 5px 14px; letter-spacing: 1px; text-shadow: 1px 1px 0 #eee; box-shadow: 0 0 1px 0 #fff inset, 1px 1px 3px #ccc; background: #eaeaea; background: linear-gradient(top, #fefefe 0%, #eaeaea 100%); }
.pass_pageArea input[type="submit"].hover{ cursor: pointer; border: 1px solid #b5c0cb; border-radius: 5px; box-shadow: 0 0 1px 0 #fff inset, 1px 1px 3px #b5c0cb; background: #cfebff; background: linear-gradient(top, #fefefe 0%, #c1daec 100%); }
.pass_pageArea input[type="submit"]:active{ box-shadow: none; position: relative; top: 2px; left: 2px; }
.pass_pageArea br{ display: none; }
