@charset "UTF-8";
/* Include
-------------------------------------------------------------- */
@import "reset.css";
@import "notosansjp.css";

/* Default
-------------------------------------------------------------- */
html, body {
	margin: 0;
	padding: 0;
	width : auto;
	background-color: #fff;
	color:#666;
	text-align:left;
	line-height:1.0em;
	
	/*
	height: 100%; を指定すると$(window).scroll(function()が使えない
	font-size: calc(112.5% + 0.25vw)
	-webkit-appearance: none;
	-webkit-text-size-adjust: none;
	overflow-x: hidden; overflow-y: auto;
	*/
	
	font-family: "Noto Sans Japanese", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


/* a
-------------------------------------------------------------- */
a {
	color: #06e;
	text-decoration: none;
	-webkit-touch-callout: none; /* リンクを長押しすると出てくるポップアップ阻止 */
}
a:hover {
	color: #909;
	text-decoration: underline;
}

a:visited {
	color: #069;
	text-decoration: none;
}



/* fontawesome
-------------------------------------------------------------- */
i {
	margin: 0 6px 0 0;
}

i.fa-file-pdf {
	color: #d00;
}



/* header
-------------------------------------------------------------- */
#blockskip {
	display: none;  /* 音声読み上げ用：本文へ移動 */
}

h1 {
	position: fixed;
	margin: 16px 0 16px 40px;
}

h1 img {
	width: 240px;
	margin: 0;
}




/* menu
-------------------------------------------------------------- */
.g_header {
	position: fixed;
	width: 100%;
	height: 80px;
	background: none;
	border-bottom: solid 1px #eee;
	background: #fff;
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .1);
}

.g_nav {
	display: none;
	position: fixed;
	width: 100%;
	top: 80px;
}

.menu {
	width: 100%;
	margin: 0;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-justify-content: center; /* Safari */
	justify-content: center;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap;
	border-top: solid 1px #ccc;
}
.menu_item {
	width: 33%;
	border-bottom: solid 1px #ccc;
}
.menu_item:nth-child(2),
.menu_item:nth-child(5),
.menu_item:nth-child(8) {
	border-left: solid 1px #ccc;
	border-right: solid 1px #ccc;
}

.menu_item a {
	display: block;
	padding: 24px 0;
	color: #000;
	text-decoration: none;
	box-sizsing: border-box;
	width: 100%;
	font-size: 1em;
	text-align: center;
	background: #fff;
	opacity: 0.96;
}

.menu_item a:hover {
	background: #fff600;
}

/*
.menu {
	width: 100%;
}
.menu_item {
	border-bottom: solid 1px #ddd;
}
.menu_item a {
	display: block;
	padding: 24px 0;
	color: #000;
	text-decoration: none;
	box-sizsing: border-box;
	width: 100%;
	font-size: 1.3em;
	text-align: center;
	background: #fff;
	opacity: 0.96;
}

.menu_item a:hover {
	background: #fff600;
}
*/

.sp_menu {
	display: block;
	position: fixed;
	top: 24px;
	right: 24px;
}
.sp_menu .menu_trigger,
.sp_menu .menu_trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.sp_menu .menu_trigger {
	position: relative;
	width: 48px;
	height: 48px;
}
.sp_menu .menu_trigger span {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	width: 70%;
	height: 2px;
	background-color: #666;
	border-radius: 5px;
}
.sp_menu .menu_trigger span:nth-of-type(1) {
	top: 5px;
}
.sp_menu .menu_trigger span:nth-of-type(2) {
	top: 15px;
}
.sp_menu .menu_trigger span:nth-of-type(3) {
	top: 25px;
}
.sp_menu .menu_trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
}
.sp_menu .menu_trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.sp_menu .menu_trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
}

/* article
-------------------------------------------------------------- */
.wrapper {
	padding: 80px 0 0 0;
	background: #fff;
}

.article {
	padding: 40px 80px 80px 80px;
	border-bottom: solid 1px #eee;
	background: #fff;
}

.article p {
	font-size: 1.2em;
	line-height: 1.8em;
	padding: 16px 0 0 0;
}

.signature {
	text-align: right;
}

.greeting {
	background-size: cover;
	color: #fff;
	text-shadow:
    2px 2px 0 #000,
    -2px 2px 0 #000,
    -2px -2px 0 #000,
    2px -2px 0 #000;
}

#g001 {
	background: #000 url(../img/bg00001.png) no-repeat;
}

#g002 {
	background: #000 url(../img/bg00002.png) no-repeat;
}

#g003 {
	background: #000 url(../img/bg00003.png) no-repeat;
}

#g004 {
	background: #000 url(../img/bg00004.png) no-repeat;
}

#g005 {
	background: #000 url(../img/bg00005.png) no-repeat;
}

#ir p {
	text-align: center;
}

.article h2 {
	font-size: 2em;
	line-height: 1.4em;
	text-align: center;
	padding: 0 0 24px 0;
}

.article h3 {
	font-size: 1.6em;
	line-height: 1.6em;
	padding: 24px 0 8px 0;
	font-weight: bold;
}

.article ol {
	font-size: 1.2em;
	line-height: 1.8em;
	padding: 16px 0 0 24px;
}

.article ul {
	padding: 0 0 16px 24px;
	list-style-type: disc;
}

#profile ul,
#contact ul {
	font-size: 1.2em;
	line-height: 1.4em;
	padding: 24px 0 0 24px;
}

.article ol li {
	padding: 0 0 16px 8px;
}

.article ul li {
	padding: 0 0 16px 0;
}


.article table {
	box-sizing: border-box;
	margin: 24px 0 0 0;
	padding: 0;
	width: 100%;
}

.article table div {
	padding: 0 0 20px 0;
}


.article table tr {
	vertical-align: top;
	border-top: dotted 1px #ccc;
}

.article table th {
	margin: 0;
	padding: 0 56px 16px 0;
	white-space: nowrap;
	font-weight: bold;
}

.article table td {
	margin: 0;
	padding: 0 0 32px 0;
}


.article #recruit {
	margin: 40px 0 0 0;
	border-top: dotted 1px #ccc;
}


/*
.article:hover {
	background: #f8f8f8;
	color: #000;
}
*/

button {
	margin: 16px 0 16px 0;
	padding: 8px 16px;
	font-size: 1.2em;
	font-weight: bold;
	background-color: #ddd;
	color: #000;
	border-style: none;
	border-radius: 8px;
}

button:hover {
	background-color: #000;
	color: #fe0;
}

/*
#access {
	padding: 40px;
}

#access h2 {
	padding: 0 0 40px 0;
}
*/



/* iso
-------------------------------------------------------------- */
div#pm img,
div#iso27017 img {
	width: auto;
	max-height: 96px;
}

div#osp img,
div#iso09001 img,
div#iso27001 img {
	width: auto;
	max-height: 90px;
}

div#iso09001 img {
	border: solid 1px #eee;
}

/* .privacypolicy
-------------------------------------------------------------- */
.privacypolicy .article table th {
	white-space: normal;
}

#pp_003 ul,
.privacypolicy .article table tr:nth-child(6) td ul,
.privacypolicy .article table tr:nth-child(7) td ul {
	font-size: 1.2em;
	line-height: 1.8em;
	padding: 16px 0 0 24px;
}

#pp_002 h2,
#pp_003 h2 {
	text-align: left;
}


/* google maps
--------------------------------------------------------------
.gmap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.gmap iframe,
.gmap object,
.gmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
*/



/* footer
-------------------------------------------------------------- */
#footer_menu ul {
	width: 100%;
	margin: 0 auto;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-justify-content: center; /* Safari */
	justify-content: center;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap;
}
#footer_menu ul li {
	width: 33%;
	border-bottom: solid 1px #eee;
	/* letter-spacing: -.4em; 文字間を詰めて隙間をなくす */
}
#footer_menu ul li:nth-child(2),
#footer_menu ul li:nth-child(5),
#footer_menu ul li:nth-child(8) {
	border-left: solid 1px #eee;
	border-right: solid 1px #eee;
}

#footer_menu ul li a {
	display: block;
	padding: 24px 0;
	color: #000;
	text-decoration: none;
	box-sizsing: border-box;
	width: 100%;
	font-size: 1em;
	text-align: center;
	background: #fff;
	/* letter-spacing: normal; 文字間を元に戻す */
}

#footer_menu ul li a:hover {
	background: #fff600;
}


#footer {
	width: 100%;
	text-align: center;
	margin: 0 auto;
	padding: 40px 0 24px 0;
	background: #000;
	color: #fff;
}

#footer h2,
#footer p {
	font-size: 1em;
	line-height: 1.6em;
	padding: 0 40px 16px 40px;
	text-align: left;
}

#footer h2 {
	font-weight: bold;
}



/* pagetop
-------------------------------------------------------------- */
#page-top {
	position: fixed;
	bottom: 24px;
	right: 24px;
	display: none;
}

#page-top a {
	display: block;
	z-index: 999;
	padding: 6px 2px 0 8px;
	border-radius: 40px;
	width: 40px;
	height: 40px;
	background-color: #000;
	color: #ff0;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	font-size: 1.6em;
	
	-webkit-transition:all 0.3s;
	transition:all 0.3s;
}
 
#page-top a:hover {
	text-decoration: none;
	background-color: #fe0;
	color: #000;
}



/* max-width: 959px
-------------------------------------------------------------- */
@media only screen and (max-width: 959px) {
	.article {
		padding: 40px 64px 80px 80px;
	}
}



/* max-width: 800px
-------------------------------------------------------------- */
@media only screen and (max-width: 800px) {
	.article {
		padding: 40px 32px 80px 40px;
	}
	.article table tr {
		border-top: none;
	}

	.article table th {
		display: block;
		padding: 0;
		border-top: dotted 1px #ccc;
	}

	.article table td {
		display: block;
		margin: 0;
		padding: 0 0 16px 0;
	}
	.menu_item,
	#footer_menu ul li {
		width: 100%;
	}
	.menu_item:nth-child(2),
	.menu_item:nth-child(5),
	.menu_item:nth-child(8),
	#footer_menu ul li:nth-child(2),
	#footer_menu ul li:nth-child(5),
	#footer_menu ul li:nth-child(8) {
		border-left: none;
		border-right: none;
	}
	.menu_item a,
	#footer_menu ul li a {
		display: block;
		font-size: 1.3em;
	}
}
