@charset "utf-8";
/* CSS Document */


/*---------------------------------------------
Reset
---------------------------------------------*/
*			{ margin: 0; padding: 0; font-size: 100%; }
html {
	color: #000;
	overflow-y: scroll;
	/*height: 100%;*/
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

h1, h2, h4, h5, h6 { font-size: 100%; font-weight: normal; margin: 0; padding: 0; }
img { border: none; vertical-align: bottom; max-width: 100%; height: auto; margin: 0; padding: 0; }
div, dl, dt, dd, form, input, ul, ol, li, p, select, textarea, span, th, td { margin: 0; padding: 0; }

/*---------------------------------------------
Style
---------------------------------------------*/

body {
	text-align: center;
	margin: 0 auto;
	padding: 0;
	margin:0 auto;
}

header {
	background:#000;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}
header div:nth-of-type(1) {
    -webkit-flex-basis: 6%;
    flex-basis: 6%;
}
header div:nth-of-type(2) {
    -webkit-flex-grow: 1;
    flex-grow: 1;
}


.header_ttl{
    font-weight: bold;
    color: #fff;
    font-size: 2.2vw;
    letter-spacing: .1em;
	padding:1.5% 9% 0 0;
}

wrapper{
	margin:0 auto;
}

#main{
	margin:0 auto;
}

h1{ background-image: url(../img/main_bg.png);
    background-size: cover;
	background-position: center;
    background-repeat: no-repeat;
	padding-top: 24px;

}


h1 div, h2 div{
	max-width:980px;
	margin:0 auto;
}

h2{
	background:#800000;
}

footer{
	width: 100%;
	padding: 20px 0;
	font: Arial, Helvetica, sans-serif;
	background: #2b2b2b;
	font-size: 90%;
}

footer a{
	color: #fff;
	text-decoration: none;
}


footer address{
	color: #fff;
}

#page-top {
	position: fixed;
	bottom: 13px;
	right: 20px;
}

#page-top a {
	color: #fff;
	display: block;
	text-align: center;
	text-decoration: none;
}

#page-top a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}

.for_sp{
	display:none;
}

.for_pc{
	display:block;
}

/* 以下、スマホ表示調整が必要な場合に使用※不要な場合は削除 */

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

	header{
		margin:0 auto;
		width:100%;
	}

	header div:nth-of-type(1) {
	    -webkit-flex-basis: 14%;
    	flex-basis: 14%;
	}

	.header_ttl{
		font-size: 3.6vw;
		padding: 4% 0 0 0;
	}
	
	footer{
		padding:10px 0;
	}

	footer a{
	font-size: 0.5em;
	}
	
	#page-top a{
	margin: 0 -10px 0 0;
	}

	.for_sp{
		display:block;
	}

	.for_pc{
		display:none;
	}

}

/*---------------------------------------------
Common Style
---------------------------------------------*/
.m0		{ margin: 0 !important; }
.mt0	{ margin-top: 0 !important; }
.mt1e	{ margin-top: 1em !important; }
.mt5	{ margin-top: 5px !important; }
.mt10	{ margin-top: 10px !important; }
.mt15	{ margin-top: 15px !important; }
.mt20	{ margin-top: 20px !important; }
.mt25	{ margin-top: 25px !important; }
.mt30	{ margin-top: 30px !important; }
.mt40	{ margin-top: 40px !important; }
.mt50	{ margin-top: 50px !important; }
.mb0	{ margin-bottom: 0 !important; }
.mb1e	{ margin-bottom: 1em !important; }
.mb5	{ margin-bottom: 5px !important; }
.mb10	{ margin-bottom: 10px !important; }
.mb15	{ margin-bottom: 15px !important; }
.mb20	{ margin-bottom: 20px !important; }
.mb25	{ margin-bottom: 25px !important; }
.mb30	{ margin-bottom: 30px !important; }
.mb35	{ margin-bottom: 35px !important; }
.mb40	{ margin-bottom: 40px !important; }
.mb50	{ margin-bottom: 50px !important; }
.mb60	{ margin-bottom: 60px !important; }
.mr0	{ margin-right: 0 !important; }
.mr1e	{ margin-right: 1em !important; }
.mr10	{ margin-right: 10px !important; }
.mr15	{ margin-right: 15px !important; }
.mr20	{ margin-right: 20px !important; }
.mr30	{ margin-right: 30px !important; }
.ml0	{ margin-left: 0 !important; }
.ml1e	{ margin-left: 1em !important; }
.ml10	{ margin-left: 10px !important; }
.ml15	{ margin-left: 15px !important; }
.ml20	{ margin-left: 20px !important; }
.ml30	{ margin-left: 30px !important; }
.ml35	{ margin-left: 35px !important; }
.ml40	{ margin-left: 40px !important; }
.ml50	{ margin-left: 50px !important; }
.ml60	{ margin-left: 60px !important; }

.p0		{ padding: 0 !important; }
.pt0	{ padding-top: 0 !important; }
.pt1e	{ padding-top: 1em !important; }
.pt5	{ padding-top: 5px !important; }
.pt10	{ padding-top: 10px !important; }
.pt15	{ padding-top: 15px !important; }
.pt20	{ padding-top: 20px !important; }
.pt25	{ padding-top: 25px !important; }
.pt30	{ padding-top: 30px !important; }
.pt40	{ padding-top: 40px !important; }
.pt50	{ padding-top: 50px !important; }
.pb0	{ padding-bottom: 0 !important; }
.pb1e	{ padding-bottom: 1em !important; }
.pb5	{ padding-bottom: 5px !important; }
.pb10	{ padding-bottom: 10px !important; }
.pb15	{ padding-bottom: 15px !important; }
.pb20	{ padding-bottom: 20px !important; }
.pb25	{ padding-bottom: 25px !important; }
.pb30	{ padding-bottom: 30px !important; }
.pb40	{ padding-bottom: 40px !important; }
.pb50	{ padding-bottom: 50px !important; }
.pr0	{ padding-right: 0 !important; }
.pr1e	{ padding-right: 1em !important; }
.pr10	{ padding-right: 10px !important; }
.pr15	{ padding-right: 15px !important; }
.pr20	{ padding-right: 20px !important; }
.pr30	{ padding-right: 30px !important; }
.pl0	{ padding-left: 0 !important; }
.pl1e	{ padding-left: 1em !important; }
.pl5	{ padding-left: 5px !important; }
.pl10	{ padding-left: 10px !important; }
.pl15	{ padding-left: 15px !important; }
.pl20	{ padding-left: 20px !important; }
.pl30	{ padding-left: 30px !important; }
.pl40	{ padding-left: 40px !important; }
.pl50	{ padding-left: 50px !important; }

.fsz150 { font-size: 150% !important; }
.fsz140 { font-size: 140% !important; }
.fsz130 { font-size: 130% !important; }
.fsz120 { font-size: 120% !important; }
.fsz110 { font-size: 110% !important; }
.fsz100 { font-size: 100% !important; }
.fsz95 { font-size: 95% !important; }
.fsz90 { font-size: 90% !important; }
.fsz85 { font-size: 85% !important; }
.fsz80 { font-size: 80% !important; }
.fsz75 { font-size: 75% !important; }
.fsz70 { font-size: 70% !important; }
.fsz65 { font-size: 65% !important; }
.fsz60 { font-size: 60% !important; }

.disN	{ display: none !important; }
.posA	{ position: absolute !important; }
.posR	{ position: relative !important; }
.fl		{ float: left !important; }
.fr		{ float: right !important; }
.b0		{ border: 0 !important; }
.tal	{ text-align: left !important; }
.tac	{ text-align: center !important; }
.tar	{ text-align: right !important; }
.fw		{ font-weight: 600 !important; }
.fwn	{ font-weight: 400 !important; }
.red	{ color: #c00 !important; }
.crim	{ color: #f00 !important; }
.hand	{ cursor: pointer !important; }
.clearfix:after,
ul:after {
    content:" ";
    display:block;
    clear:both;
}