@charset "utf-8";

html, body,
h1, h2, h3, h4, h5, h6,
a, p, span,
em, small, strong,
sub, sup,
mark, del, ins, strike,
abbr, dfn,
blockquote, q, cite,
code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
main, aside, nav,
header, hgroup, footer,
img, figure, figcaption,
address, time,
audio, video,
canvas, iframe,
details, summary,
fieldset, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td,
input, textarea, button, select {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font:inherit;
}
article,aside,footer,header,
nav,section,main {
	display:block;
}
* {
    box-sizing: border-box;
}
*:before,
*:after {
    box-sizing: inherit;
}
body {
	line-height:1;
	-webkit-text-size-adjust: 100%;
}
ol, ul {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
img {
	height: auto;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
	-ms-interpolation-mode: bicubic;
}
img,video {
	max-width: 100%;
}
address {
	font-style: normal;
}
input:not([type=radio]),
input:not([type=checkbox]),
select,textarea,button {
	-webkit-appearance: none;
	border-radius: 0;
	background: none;
}


/* utility（汎用スタイル）
------------------------------------------------------------------------------------ */


.clear {
	clear:both;
}

.clearfix:after {
   content:".";
   display:block;
   clear:both;
   height:0;
   visibility:hidden;
   overflow:hidden;
   font-size:0.1em;
   line-height:0;
}
.clearfix {
   display: inline-block;
}


/* フォント関連 */

.al_center {
	text-align:center;
}
.al_right {
	text-align:right;
}
.al_left {
	text-align:left;
}
.font_b {
	font-weight:bold;
}
.red {
	color:#FF0000;
}
.black {
	color:#000000;
}
.pink {
	color:#FF66CC;
}
.orange {
	color:#FF9900;
}
.green {
	color:#006633;
}

/* デフォルトサイズは16px */

.font_xxxs {
	font-size:0.5rem;/* 8px */
}
.font_xxs {
	font-size:0.625rem;/* 10px */
}
.font_xs {
	font-size:0.75rem;/* 12px */
}
.font_s {
	font-size:0.875rem;/* 14px */
}
.font_l {
	font-size:1.125rem;/* 18px */
}
.font_xl {
	font-size:1.25rem;/* 20px */
}
.font_xxl {
	font-size:1.375rem;/* 22px */
}
.font_xxxl {
	font-size:1.5rem;/* 24px */
}


/* 位置関連 */

.pos_r {
	position:relative;
}
.pos_a {
	position:absolute;
}
.flo_left {
	float:left;
}
.flo_right {
	float:right;
}
.val_t {
	vertical-align:top;
}
.val_m {
	vertical-align:middle;
}
.val_b {
	vertical-align:bottom;
}


/* ブロック関連 */

.d_block {
	display:block;
}
.d_inline {
	display:inline;
}
.d_inline-b {
	display:inline-block;
}
.d_table {
	display:table;
}
.d_table-c {
	display:table-cell;
}
.d_table-r {
	display:table-row;
}
.d_none {
	display:none;
}

.of_hid {
	overflow:hidden;
}
.of_auto {
	overflow:auto;
}
.of_scr {
	overflow:scroll;
}

.w_100pct {
	width:100%;
}
.w_90pct {
	width:90%;
}
.w_80pct {
	width:80%;
}
.w_70pct {
	width:70%;
}
.w_60pct {
	width:60%;
}
.w_50pct {
	width:50%;
}
.w_40pct {
	width:40%;
}
.w_30pct {
	width:30%;
}
.w_33pct {
	width:33.333%;
}
.w_25pct {
	width:25%;
}
.w_20pct {
	width:20%;
}
.w_10pct {
	width:10%;
}


/* 余白関連 */

.m_5 {
	margin:5px;
}
.m_10 {
	margin:10px;
}
.m_15 {
	margin:15px;
}
.m_20 {
	margin:20px;
}
.m_30 {
	margin:30px;
}
.m_40 {
	margin:30px;
}
.m_50 {
	margin:30px;
}

.m_h5 {
	margin-top:5px;
	margin-bottom:5px;
}
.m_h10 {
	margin-top:10px;
	margin-bottom:10px;
}
.m_h15 {
	margin-top:15px;
	margin-bottom:15px;
}
.m_h20 {
	margin-top:20px;
	margin-bottom:20px;
}
.m_h30 {
	margin-top:30px;
	margin-bottom:30px;
}
.m_h40 {
	margin-top:40px;
	margin-bottom:40px;
}
.m_h50 {
	margin-top:50px;
	margin-bottom:50px;
}

.m_w5 {
	margin-right:5px;
	margin-left:5px;
}
.m_w10 {
	margin-right:10px;
	margin-left:10px;
}
.m_w15 {
	margin-right:15px;
	margin-left:15px;
}
.m_w20 {
	margin-right:20px;
	margin-left:20px;
}
.m_w30 {
	margin-right:30px;
	margin-left:30px;
}
.m_w40 {
	margin-right:40px;
	margin-left:40px;
}
.m_w50 {
	margin-right:50px;
	margin-left:50px;
}

.m_t5 {
	margin-top:5px;
}
.m_t10 {
	margin-top:10px;
}
.m_t15 {
	margin-top:15px;
}
.m_t20 {
	margin-top:20px;
}
.m_t30 {
	margin-top:30px;
}
.m_t40 {
	margin-top:40px;
}
.m_t50 {
	margin-top:50px;
}

.m_r5 {
	margin-right:5px;
}
.m_r10 {
	margin-right:10px;
}
.m_r15 {
	margin-right:15px;
}
.m_r20 {
	margin-right:20px;
}
.m_r30 {
	margin-right:30px;
}
.m_r40 {
	margin-right:40px;
}
.m_r50 {
	margin-right:50px;
}

.m_b5 {
	margin-bottom:5px;
}
.m_b10 {
	margin-bottom:10px;
}
.m_b15 {
	margin-bottom:15px;
}
.m_b20 {
	margin-bottom:20px;
}
.m_b30 {
	margin-bottom:30px;
}
.m_b40 {
	margin-bottom:40px;
}
.m_b50 {
	margin-bottom:50px;
}
.m_b60 {
	margin-bottom:60px;
}
.m_b70 {
	margin-bottom:70px;
}
.m_b80 {
	margin-bottom:80px;
}
.m_b90 {
	margin-bottom:90px;
}
.m_b100 {
	margin-bottom:100px;
}

.m_l5 {
	margin-left:5px;
}
.m_l10 {
	margin-left:10px;
}
.m_l15 {
	margin-left:15px;
}
.m_l20 {
	margin-left:20px;
}
.m_l30 {
	margin-left:30px;
}
.m_l40 {
	margin-left:40px;
}
.m_l50 {
	margin-left:50px;
}


.p_5 {
	padding:5px;
}
.p_10 {
	padding:10px;
}
.p_15 {
	padding:15px;
}
.p_20 {
	padding:20px;
}
.p_30 {
	padding:30px;
}
.p_40 {
	padding:40px;
}
.p_50 {
	padding:50px;
}

.p_h5 {
	padding-top:5px;
	padding-bottom:5px;
}
.p_h10 {
	padding-top:10px;
	padding-bottom:10px;
}
.p_h15 {
	padding-top:15px;
	padding-bottom:15px;
}
.p_h20 {
	padding-top:20px;
	padding-bottom:20px;
}
.p_h30 {
	padding-top:30px;
	padding-bottom:30px;
}
.p_h40 {
	padding-top:40px;
	padding-bottom:40px;
}
.p_h50 {
	padding-top:50px;
	padding-bottom:50px;
}

.p_w5 {
	padding-right:5px;
	padding-left:5px;
}
.p_w10 {
	padding-right:10px;
	padding-left:10px;
}
.p_w15 {
	padding-right:15px;
	padding-left:15px;
}
.p_w20 {
	padding-right:20px;
	padding-left:20px;
}
.p_w30 {
	padding-right:30px;
	padding-left:30px;
}
.p_w40 {
	padding-right:40px;
	padding-left:40px;
}
.p_w50 {
	padding-right:50px;
	padding-left:50px;
}

.p_t5 {
	padding-top:5px;
}
.p_t10 {
	padding-top:10px;
}
.p_t15 {
	padding-top:15px;
}
.p_t20 {
	padding-top:20px;
}
.p_t30 {
	padding-top:30px;
}
.p_t40 {
	padding-top:40px;
}
.p_t50 {
	padding-top:50px;
}

.p_r5 {
	padding-right:5px;
}
.p_r10 {
	padding-right:10px;
}
.p_r15 {
	padding-right:15px;
}
.p_r20 {
	padding-right:20px;
}
.p_r30 {
	padding-right:30px;
}
.p_r40 {
	padding-right:40px;
}
.p_r50 {
	padding-right:50px;
}

.p_b5 {
	padding-bottom:5px;
}
.p_b10 {
	padding-bottom:10px;
}
.p_b15 {
	padding-bottom:15px;
}
.p_b20 {
	padding-bottom:20px;
}
.p_b30 {
	padding-bottom:30px;
}
.p_b40 {
	padding-bottom:40px;
}
.p_b50 {
	padding-bottom:50px;
}

.p_l5 {
	padding-left:5px;
}
.p_l10 {
	padding-left:10px;
}
.p_l15 {
	padding-left:15px;
}
.p_l20 {
	padding-left:20px;
}
.p_l30 {
	padding-left:30px;
}
.p_l40 {
	padding-left:40px;
}
.p_l50 {
	padding-left:50px;
}
