@charset "utf-8";
@import url('./reset.css');
@import url('./add.css');
body {
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	min-width: 320px;
	min-height: 100vh;
	color: #555555;
	background-color: #fff;
	font-family:'新丸ゴ R',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO",'メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
#contents {
	-webkit-box-flex: 1;
	-ms-flex: 1 0 auto;
	flex: 1 0 auto;
	padding: 90px 0;
}
#pg_top #contents { padding: 0; }

#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 70px;
	margin: auto;
	background-color: #898989;
	z-index: 500;
}
.top_header #header {
	position: absolute;
}
#header > * {
	height: 70px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-direction: row;
	flex-direction: row;
	-webkit-justify-content: space-around;
	justify-content: space-around;
	-webkit-align-items: stretch;
	align-items: stretch;
}
#header a {
	display: block;
	width: 100%;
	height: 70px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
#header a.menu_logo {
	min-width: 100px;
	max-width: 150px;
	margin-right: auto;
	background-position: left center;
	background-image: url('../img/menu/logo.svg');
}
#pg_top #header a.menu_home { display: none; }
#header a.menu_home { background-image: url('../img/menu/icon0.svg'); }
#header a.menu_about { background-image: url('../img/menu/icon1.svg'); }
#header a.menu_works { background-image: url('../img/menu/icon2.svg'); }
#header a.menu_blog { background-image: url('../img/menu/icon3.svg'); }
#header a.menu_contact { background-image: url('../img/menu/icon4.svg'); }
#header a:hover { background-color: rgba(0,0,0,0.2); }

@media screen and (min-width: 768px) {
	#pg_top #header a.menu_logo { display: none; }
	#pg_top #header a { max-width: 100%; }
	#pg_top #header a.menu_about { background-image: url('../img/menu/menu1.png'); }
	#pg_top #header a.menu_works { background-image: url('../img/menu/menu2.png'); }
	#pg_top #header a.menu_blog { background-image: url('../img/menu/menu3.png'); }
	#pg_top #header a.menu_contact { background-image: url('../img/menu/menu4.png'); }
}


#footer {
	position:relative;
	padding: 20px 0 50px;
	color: #fff;
	background-color: #888888;
}
#footer::before {
	content: "\0a9\00a0Kitamura CO., LTD. All rights reserved.";
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 30px;
	white-space: pre-wrap;
	background-color: #555555;
	color: #bfbfbf;
	font-size: 12px;
	line-height: 30px;
	text-align: center;
	font-family:'新ゴ R','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	z-index: 100;
}
#footer_info ul {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-direction: column;
	flex-direction: column;
	-webkit-justify-content: center;
	justify-content: center;
}
#footer_info li.top_info_add {
	margin-top: 10px;
	text-align: center;
}
#footer_info span { display: inline-block; }
#footer_info li.footer_info_qr {
	display: none;
	background-color: rgba(255,255,255,0.9);
}
@media screen and (min-width: 980px) {
	#footer_info ul {
		-webkit-box-direction: row;
		flex-direction: row;
		-webkit-justify-content: space-around;
		justify-content: space-around;
	}
	#footer_info li.footer_info_add { text-align: right; }
	#footer_info li.footer_info_qr { display: block; }
}

#footer_info .mail_at::after { content: attr(data-domain); }
#footer_info .mail_at::before { content: attr(data-user) "@"; }

.ttl {
	position: relative;
	display: table;
	margin: auto;
	margin-bottom: 1em;
	padding: 0 1em 10px;
	text-align: center;
	font-size: 2.0em;
	letter-spacing: 0.2em;
}
.ttl::before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	display: inline-block;
	width: 60px;
	height: 8px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #555555;
}
.ttl.ttl-effect::before {
	width: 100%;
	animation-name: ttl-effect;
	animation-duration: 1s;
}
@keyframes ttl-effect {
	0% {
		width: 60px;
	}
	100% {
		width: 100%;
	}
}

.effect-fade.effect-scroll {
	animation-name: scroll-effect;
	animation-duration: 1s;
}
@keyframes scroll-effect {
	0% {
		opacity: 0;
		transform: translateY(45px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.tablelist {
	margin: 10px auto 20px;
	word-break: break-all;
}
.tablelist > dl { border-left: 1px solid #555555; }
.tablelist > dl:first-child { border-top: 1px solid #555555; }
.tablelist > dl > dt,
.tablelist > dl > dd {
	border-right: 1px solid #555555;
	padding: 10px;
	vertical-align: top;
}
.tablelist > dl > dt {
	padding: 5px 10px;
	background-color: #555555;
	color: #fff;
}
.tablelist > dl:last-child dt { border-bottom: 1px solid #555; }
.tablelist > dl > dd {
	background-color: rgba(255,255,255,0.8);
	border-bottom: 1px solid #555555;
}
@media screen and (min-width: 768px)  {
	.tablelist > dl {
		display: table;
		width: 100%;
	}
	.tablelist > dl > dt,
	.tablelist > dl > dd {
		display: table-cell;
		padding: 10px;
	}
	.tablelist > dl > dt {
		width: 10em;
		border-bottom: 1px solid #fff;
	}
}

ul.listitem_square,
ul.listitem_disc {
	margin-left: 1.0em;
}
ul.listitem_square > li,
ul.listitem_disc > li {
	display: list-item;
	list-style-type: square;
	padding-bottom: 0.5em;
}
ul.listitem_disc > li {
	list-style-type: disc;
}

/* totop */
.totop a {
	display: block;
	position: absolute;
	top: -60px;
	left: 0;
	right: 0;
	width: 100px;
	height: 60px;
	margin: auto;
	background:
		url('../img/general/totop.svg') no-repeat center bottom,
		linear-gradient(to bottom right, transparent 50%, #888888 50.5%) no-repeat top left/50% 100%,
		linear-gradient(to bottom left, transparent 50%, #888888 50.5%) no-repeat top right/50% 100%;
}
#top_about .totop a {
	background:
		url('../img/general/totop.svg') no-repeat center bottom,
		linear-gradient(to bottom right, transparent 50%, #fafafa 50.5%) no-repeat top left/50% 100%,
		linear-gradient(to bottom left, transparent 50%, #fafafa 50.5%) no-repeat top right/50% 100%;
}
#top_greeting .totop a {
	background:
		url('../img/general/totop.svg') no-repeat center bottom,
		linear-gradient(to bottom right, transparent 50%, #bfbfbf 50.5%) no-repeat top left/50% 100%,
		linear-gradient(to bottom left, transparent 50%, #bfbfbf 50.5%) no-repeat top right/50% 100%;
}
