@charset "utf-8";

html, body{
	width: 100%;
	margin: 0;
	padding: 0;
	height: 100%;
	overflow-x: inherit;
	overflow-y: inherit;
}

html { font-size: 62.5%; }
body {
	font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	color: #444;
	text-align: left;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

header,
nav,
article,
aside,
section,
footer {
	display: block;
}

body,
h1,
h2,
h3,
h4,
h5,
div,
p {
	margin: 0;
	padding: 0;
	font-weight: normal;
}
h1,
h2,
h3,
h4,
h5 {
	font-size: 100%;
}

*, *::before, *::after { box-sizing: border-box; }

ul, ol { margin: 0; padding: 0; list-style: none; }
ol li { list-style: decimal-leading-zero; list-style-position: inside; }

span { display: inline-block; }

.br_t_ss	{ margin-top: 7px; }
.br_t_s		{ margin-top: 18px; }
.br_t		{ margin-top: 30px; }
.br_t_l		{ margin-top: 45px; }
.br_t_ll	{ margin-top: 60px; }
.br_t_xl	{ margin-top: 90px; }

.txt_l	{ text-align: left; }
.txt_c	{ text-align: center; }
.txt_r	{ text-align: right; }
/* PCのみセンタリング、mobileで左寄せの場合は .txt_cl を使用（イレギュラーで中央寄せした本文など ） */

.txt_th	{ text-decoration: line-through; }
/* 打消し線 */

.txt_em	{ font-weight: bold; }
/* 太字 */

.txt_u{ /* 下線 */
	border-bottom: 1px #333 solid;
	line-height: 1.2;
}

.txt_sml { /* 小さめの文字 */
	font-size: 80% !important;
}

.mg_auto { /* 左右中央に置きたいブロックに指定 */
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.mg_t_0 {
	margin-top: 0 !important;
}

.middle {
	vertical-align: middle;
}

.w100p	{ width: 100%; height: auto; }
.w95p	{ width: 95%; height: auto; }
.w75p	{ width: 75%; height: auto; }
.w50p	{ width: 50%; height: auto; }

img.w100p { display: block; }

.fuchi { border: 1px #ccc solid; }

.logo_piapro	{ vertical-align: middle; margin-left: 6px; }
.sponsor_logo p	{ display: inline-block; }

/* ----------------------------------------------- */
/*                 WEB Icon space                  */
/* ----------------------------------------------- */
/* webアイコンの横の余白 */
.fa		{ margin-right: 0.7em; }
a .fa	{ margin-left: 0.5em; }
.fa-chevron-left { margin-left: 0 !important; }
.fa.fa_r { margin-right: 0 !important; }

/* ----------------------------------------------- */
/*                    clearfix                     */
/* ----------------------------------------------- */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
	visibility: hidden;
}

.clearfix {
	min-height: 1%;
	zoom: 1;
}

/* ----------------------------------------------- */
/*                       sns                       */
/* ----------------------------------------------- */
.index_sns > *,
.contents_sns > * {
	display: inline-block;
	vertical-align: bottom;
	margin: 0 3px;
	z-index: 1000;
}

.fb_iframe_widget > span {
	vertical-align: baseline !important;
}

@media screen and (min-width:769px){
	.snsBtn line{
		display: none;
	}
}

/* ----------------------------------------------- */
/*                      movie                      */
/* ----------------------------------------------- */
.movie {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* ----------------------------------------------- */
/*                   google map                    */
/* ----------------------------------------------- */
.ggmap{
	position: relative;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	border: 1px #ccc solid;
	padding-bottom: 42.5%;
}

@media screen and (max-width: 768px){
	.ggmap{
		padding-bottom: 70%;
	}
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ----------------------------------------------- */
/*                  Material icons                 */
/* ----------------------------------------------- */
.material-icons {
	font-size: inherit !important;
	margin: 0 0.7em 0 -1px;
	vertical-align: middle;
}
