@charset "UTF-8";

/* ===============================
	utility
=============================== */
em {
	font-style: normal;
	font-weight: bold;
	font-size: 1.1em;
}

::selection {
	color: #ffffff;
	background: #000000;
}
::-moz-selection {
	color: #ffffff;
	background: #000000; /* Firefox */
}

.horizon {
	display: flex;
	flex-wrap: wrap;
}

.caption {
	font-size: 1em !important;
	line-height: 1.6em;
}

.tc {
	text-align: center !important;
}

.fs {
	font-size: 0.7em;
}

.fxs {
	font-size: 0.77em;
	line-height: 1.2;
}

.bs {
	color: #00428e;
}

.fitImg img {
	width: 100%;
	height: auto;
}

/* ===============================
	common base style
=============================== */
html,body{
    height: 100%;
}
html{
	font-size: 62.5%; /* sets the base font to 10px for easier math */
}
body {
	font-family:'Noto Sans JP', sans-serif;
	font-weight: 500;
	background-color: #eeefef;
    position: relative;
}

/*
_:lang(x)::-ms-backdrop, body {
    font-family: "メイリオ", Meiryo, sans-serif;
} 
*/

#frame {
	position: fixed;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
}
#frame:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border: solid 32px #eeefef;
}

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-weight:normal;
}

p, ul, li {
	margin: 0;
	/* Android・文字サイズ対応 */
	max-height: 9999px;
	/* Android・文字の折り返し対応 */
	background: transparent;
}

.mo a img {
	background-color: rgba(255, 255, 255, .01);
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

a {
	text-decoration: none;
	transition: all .3s;
	/* スマホのハイライトデザインを無効にする */
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
a:hover {
	text-decoration: none;
}
:focus {
	outline: none;
}

/*------ contents ------*/
main{
	width: 100%;
	min-height: 100%;
}

/* ===============================
	PC / Tab Style
=============================== */
@media print , screen and (min-width: 768px) {
	
	.pc { display: block !important; }
	.sp { display: none !important; }
	
	body {
		font-size: 2rem;
		line-height: 1.8;
		min-height:100%;
		height:auto !important;
		height:100%;
/*		position:relative;*/
	}
	
	/* footer下部固定 */	
	main{
		position: relative;
		min-height: 100%;
	}
	#container {
		padding-bottom: 70px; /*フッターの高さ*/
	}
	
	/*------ contents ------*/	
	section {
		width: 950px;
		margin-left: auto;
		margin-right: auto;
	}
	
}

/* ===============================
	Mobile Style
=============================== */
@media screen and (max-width: 767px) {
	
	.pc { display: none !important; }
	.sp { display: block !important; }
		
	body {
/*		font-size: calc(100vw / 30);*/
		font-size: 1.5rem;
		line-height: 2;
	}
	
	#frame:before {
		border: solid 15px #eeefef;
	}

	/*------ contents ------*/	
	section {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	picture img {
		width:100%;
	}
		
}

/* ===============================
	screen only setting
=============================== */
@media screen {
	
	.hover a, a.hover {
		transition: 0.5s ease 0s;
		-webkit-transition: 0.5s ease 0s;
		-moz-transition: 0.5s ease 0s;
		-ms-transition: 0.5s ease 0s;
	}
	.hover a:hover, a.hover:hover {
		opacity: 0.6;
		-webkit-opacity: 0.6;
		-moz-opacity: 0.6;
		filter: alpha(opacity = 60);
		-ms-filter: "alpha(opacity=60)";
	}
		.fix {
		position: fixed !important;
	}
	
}

/* ===============================
	print only setting
=============================== */
@media print {
	.printNewPage {
		page-break-before: always;
	}
}


