@charset "UTF-8";


html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:11.5pt;
    line-height:1em;
    vertical-align:baseline;
    background:transparent;
    color:#000;
    font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    /* font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; */
}

a {
	color:#c30e18;
}


.mincho {
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.gothic {
    font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}



/* ____________________ タグ
*/


body {
    line-height:1;
	margin:0;
	padding:0;
	background:#fff;
	-webkit-text-size-adjust: 100%;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display:block;
}

ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

img {
	border:none;
	vertical-align:bottom;
}

ins {
    background-color:#eee;
    color:#000;
    text-decoration:none;
}

mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

a:hover {
	color:#000;
	text-decoration:none;
}

a:hover img {
	/*opacity:0.5;
	-moz-opacity:0.5;
	-webkit-opacity:0.5;
	-ms-filter: "alpha( opacity=50 )";
	filter: alpha( opacity=50 );*/
}

.hover {
	-webkit-transition:opacity 0.2s linear;
	transition:opacity 0.2s linear;
}

.hover:hover {
	opacity:0.7;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
	border-collapse:collapse;
    border-spacing:0;
}

hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

sup {
	font-size:6pt;
	vertical-align:top;
}

/* =========================

	FONT STYLE

========================== */

.bold {
	font-weight:bold;
}

small,
.small {
	font-size:85%;
	line-height:1.2em;
}

.att { color:#f00; }

.color-red { color:#c30e18; }
.color-white { color:#fff; }

.align-l { text-align:left !important; }
.align-r { text-align:right !important; }
.align-c { text-align:center !important; }

.fs8,.fs9,.fs10,.fs11,.fs12,.fs13,.fs14,.fs15,.fs16 { line-height:1.7em; }

.fs8 { font-size:8pt; }
.fs9 { font-size:9pt; }
.fs10 { font-size:10pt; }
.fs11 { font-size:11pt; }
.fs12 { font-size:12pt; }
.fs13 { font-size:13pt; }
.fs14 { font-size:14pt; }
.fs15 { font-size:15pt; }
.fs16 { font-size:16pt; }


/* =========================

	LAYOUT

========================== */

.mw {
	max-width:100%;
}

.float-l { float:left !important; }
.float-r { float:right !important; }
.float-l-pc { float:left !important; }
.float-r-pc { float:right !important; }

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

.clear,
.f_clear,
.clear-pc,
.clear-wd,
.clear-mb,
.clear-tb,
.clear-sp {
	display:block;
	clear:both;
	height:0;
	overflow:hidden;
	width:100%;
	background:none;
    visibility: hidden;
}

br.clear { clear:both; }

table.vertical-t td { vertical-align:top; }
table.vertical-m td { vertical-align:middle; }
table.vertical-b td { vertical-align:bottom; }

img.vertical-t { vertical-align:top; }
img.vertical-m { vertical-align:middle; }
img.vertical-b { vertical-align:bottom; }

.noborder { border:none !important; }

.mt10{ margin-top:10px; }
.mt20{ margin-top:20px; }
.mt30{ margin-top:30px; }
.mt40{ margin-top:40px; }
.mt50{ margin-top:50px; }
.mt60{ margin-top:60px; }
.mt70{ margin-top:70px; }
.mt80{ margin-top:80px; }
.mt90{ margin-top:90px; }
.mt100{ margin-top:100px; }

.mb10{ margin-bottom:10px; }
.mb20{ margin-bottom:20px; }
.mb30{ margin-bottom:30px; }
.mb40{ margin-bottom:40px; }
.mb50{ margin-bottom:50px; }
.mb60{ margin-bottom:60px; }
.mb70{ margin-bottom:70px; }
.mb80{ margin-bottom:80px; }
.mb90{ margin-bottom:90px; }
.mb100{ margin-bottom:100px; }

.pt10{ padding-top:10px; }
.pt20{ padding-top:20px; }
.pt30{ padding-top:30px; }
.pt40{ padding-top:40px; }
.pt50{ padding-top:50px; }
.pt60{ padding-top:60px; }
.pt70{ padding-top:70px; }
.pt80{ padding-top:80px; }
.pt90{ padding-top:90px; }
.pt100{ padding-top:100px; }

.pb10{ padding-bottom:10px; }
.pb20{ padding-bottom:20px; }
.pb30{ padding-bottom:30px; }
.pb40{ padding-bottom:40px; }
.pb50{ padding-bottom:50px; }
.pb60{ padding-bottom:60px; }
.pb70{ padding-bottom:70px; }
.pb80{ padding-bottom:80px; }
.pb90{ padding-bottom:90px; }
.pb100{ padding-bottom:100px; }

.flex-center {
    display: -webkit-flex;
    -webkit-justify-content: center;
    -webkit-align-items: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.flex-between {
    display: -webkit-flex;
    -webkit-justify-content:space-between;
    display: flex;
    justify-content:space-between
}

.flex-reverse {
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}


/* =========================

	RESPONSIVE

========================== */

.pc { display:block; }
.wd { display:block; }
.mb { display:none; }
.tb { display:none; }
.sp { display:none; }

.pc-tablecell { display:table-cell; }
.wd-tablecell { display:table-cell; }
.mb-tablecell { display:none; }
.tb-tablecell { display:none; }
.sp-tablecell { display:none; }

.pc-inline { display:inline; }
.wd-inline { display:inline; }
.mb-inline { display:none; }
.tb-inline { display:none; }
.sp-inline { display:none; }

.pc-inlineblock { display:inline-block; }
.wd-inlineblock { display:inline-block; }
.mb-inlineblock { display:none; }
.tb-inlineblock { display:none; }
.sp-inlineblock { display:none; }

.clear-pc { clear:both; display:block; }
.clear-wd { clear:both; display:block; }
.clear-mb { clear:none; display:none; }
.clear-tb { clear:none; display:none; }
.clear-sp { clear:none; display:none; }

.opacity50 {
	opacity : 0.5;
	-moz-opacity : 0.5;
	-webkit-opacity : 0.5;
	-ms-filter: "alpha( opacity=50 )";
	filter: alpha( opacity=50 );
}

.smooth {
	/*overflow: hidden;*/
}

.smooth .smooth_bg {
	/*background-size:100%;
	background-position:center center;
	transition: all 0.1s ease 0s;*/
	/*-webkit-transform:scale(1);
	transform:scale(1);
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;*/
}

.smooth:hover .smooth_bg {
	/*-webkit-transform:scale(1.1);
	transform:scale(1.1);*/
}

.spimg span {
	display: none;
	margin:1em;
}

@media screen and (max-width:640px) {
    .spimg {
    	overflow-x: auto;
    }
	.spimg span {
		display: block;
	}
}

/* ___________ 汎用フォーム
*/

input[type="button"] {
	cursor:pointer;
}
input[type="button"]:hover {
	-moz-opacity:0.8;
	-webkit-opacity:0.8;
	opacity:0.8;
}

input[type="text"],
textarea {
	padding:5px;
	-webkit-box-shadow: inset 0 1px 4px #ccc;
	-moz-box-shadow: inset 0 1px 4px #ccc;
	box-shadow: inset 0 1px 4px #ccc;
	-webkit-border-radius:4px;
	-moz-border-radius:4px;
	border-radius:4px;
	border:solid 1px #ccc;
	background:#fff;
}

select {
	padding:5px;
	-webkit-box-shadow: inset 0 1px 4px #ccc;
	-moz-box-shadow: inset 0 1px 4px #ccc;
	box-shadow: inset 0 1px 4px #ccc;
	-webkit-border-radius:4px;
	-moz-border-radius:4px;
	border-radius:4px;
	border:solid 1px #ccc;
	background:#fff;
}



/* =======================================================
  ________________________________________ Tablet
*/

@media screen and (max-width: 768px){

	/* ____________________ 汎用クラス
	*/
	.pc { display:none; }
    .wd { display:block; }
	.mb { display:block; }
	.tb { display:block; }
	.sp { display:none; }

	.pc-tablecell { display:none; }
    .wd-tablecell { display:table-cell; }
	.mb-tablecell { display:table-cell; }
	.tb-tablecell { display:table-cell; }
	.sp-tablecell { display:none; }

	.pc-inline { display:none; }
    .wd-inline { display:inline; }
	.mb-inline { display:inline; }
	.tb-inline { display:inline; }
	.sp-inline { display:none; }

    .pc-inlineblock { display:none; }
    .wd-inlineblock { display:inline-block; }
    .mb-inlineblock { display:inline-block; }
    .tb-inlineblock { display:inline-block; }
    .sp-inlineblock { display:none; }

	.clear-pc { clear:none; display:none; }
    .clear-wd { clear:both; display:block; }
	.clear-mb { clear:both; display:block; }
	.clear-tb { clear:both; display:block; }
	.clear-sp { clear:none; display:none; }


	.float-l-pc,
	.float-r-pc {
		float:none !important;
	}

    .mb-maxwidth100 { max-width:100%; }
    .tb-maxwidth100 { max-width:100%; }

}



/* =======================================================
  ________________________________________ Mobile
*/

@media screen and (max-width: 640px){

	/* ____________________ 汎用クラス
	*/
	.pc { display:none; }
    .wd { display:none; }
	.mb { display:block; }
	.tb { display:none; }
	.sp { display:block; }

	.pc-tablecell { display:none; }
    .wd-tablecell { display:none; }
	.mb-tablecell { display:table-cell; }
	.tb-tablecell { display:none; }
	.sp-tablecell { display:table-cell; }

	.pc-inline { display:none; }
    .wd-inline { display:none; }
	.mb-inline { display:inline; }
	.tb-inline { display:none; }
	.sp-inline { display:inline; }

    .pc-inlineblock { display:none; }
    .wd-inlineblock { display:none; }
    .mb-inlineblock { display:inline-block; }
    .tb-inlineblock { display:none; }
    .sp-inlineblock { display:inline-block; }

	.clear-pc { clear:none; display:none; }
    .clear-wd { clear:none; display:none; }
	.clear-mb { clear:both; display:block; }
	.clear-tb { clear:none; display:none; }
	.clear-sp { clear:both; display:block; }


	.float-l-pc,
	.float-r-pc {
		float:none !important;
	}

    .mb-maxwidth100 { max-width:100%; }
    .sp-maxwidth100 { max-width:100%; }

}
