@charset "UTF-8";
@import url("genericons.css");
/* html5reset.css - 01/11/2011 */

html, body, div, span, object, iframe,
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,
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: 100%;
    vertical-align: baseline;
    background: transparent;
}
h1, h2, h3, h4, h5, h6, p,ul, li {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body {
    line-height: 1;
}

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


blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
input, select {
    vertical-align: middle;
}
body {
	font-family: 'YakuHanJP', 'Noto Sans Japanese', sans-serif;
	-webkit-text-size-adjust: none;
	color:#1F1E1E;
	letter-spacing: 0.05em;
}
article.wrap  {
	padding-top: 70px;

}
a {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	background: transparent;
	color:inherit;
	text-decoration:none;
	background-color:transparent;
	-webkit-touch-callout:none;
	-webkit-tap-highlight-color:rgba(0, 0, 0, 0);
}
ul,li {
	list-style:none;
}
*, *::before, *::after {
    box-sizing: border-box;
}
p {
}
img {
	vertical-align:bottom;
	max-width:100%;
	height:auto;
}
::selection {
	background:#d4dcd6;
	color:#FFF; /* Safari */
}
::-moz-selection {
	background:#d4dcd6; /* Firefox */
	color:#FFF;
}

section {
	padding-bottom:3em;
}
section.borderbtm {
	margin-bottom:2em;
	padding-bottom:2em;
	border-bottom:#E1E1E1 1px solid;
}
.clearfix:before,
.clearfix:after{
  content:"";
  display: table;
}
.clearfix:after{
  clear:both;
}
.clearfix{
  *zoom:1;
}
hr.dot {
	border-style:dotted;
	border-color:#FFF;
}
a.genericon:hover {
	color:#787777;
}
/* pagetop  ============================================================================= */
.pagetop {
	display: none;
	position: absolute;
	bottom: 12px;
	right: calc( 4% + 7px );
}
.pagetop i {
	font-size: 45px;
	line-height: 0.9;
	cursor: pointer;
}

/*  SECTIONS  ============================================================================= */
.section {
	margin:0 auto;
	width:100%;
	padding: 0 4%;
	min-height: 100vh;
}
@media only screen and (max-width: 639px) {
	.home .section {
		padding: 0;
	}
}

/*  GRID COLUMN SETUP   ==================================================================== */
.header {
	position:fixed;
	padding:8px 4% 7px 4%;
	z-index: 999;
	background-color: #FFF;
	width:100%;

}
.header h1 {
	width: 144px;
	font-size: 12px;
}
.header h1 a {
  display:block;
}
@media only screen and (max-width: 640px) {
	.header {
		padding:8px 16px 7px 16px;
	}
	footer ul {
		padding:2em 16px;
	}
}

/*.title-area {
	padding-left:.5em;
}*/
.navigation {
	text-align:right;
	z-index:999;
	color:#000;

}
.sortswitch {
	width: 100%;
	max-width: 1344px;
	text-align:right;
	margin: 25px auto;
}
.sortswitch li {
	display:inline-block;
	font-weight:300;
	cursor:pointer;
	line-height:1;
	font-size:16px;
	margin-left: 1em;
  letter-spacing: 0.1em;
}
.sortswitch li.selected {
	background-color:#d4dcd6;
}
@media only screen and (max-width: 640px) {
	.sortswitch {
		text-align: center;
	}
}
footer {
	position: relative;
	margin-top:3em;
	border-top:#E7E7E7 1px solid;
}
footer ul {
	padding:2em 4%;
	font-size:77%;
}
footer ul li {
	text-align:left;
}
.nextnavigation {
	display:block;
	margin:2em auto;
	text-align:center;
}
.mb2 {
	margin-bottom:2em !important;
}

.top-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.main-nav li {
	display: inline-block;
	text-align:right;
}
.main-nav li a:hover {
	color:#353333;
}
.navigation {
	display:block;
	width:auto;
	position:static;
	background:none;
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	border-bottom:none;
}
.navigation > li {
	color:#000;
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	vertical-align: middle;
}
.navigation > li {
	line-height:1;
 	letter-spacing: 0.15em;
	font-size: 28px;
	margin-bottom: 1.2em;
}
.navigation li a {
	display:block;
}
.navigation li a:hover {
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}

.navigation li a.current {
	color:#5B5B5B;
}
.navigation li.current {
	text-decoration:underline #E8E8E8;
}
ul.sns {
	margin-top: 60px;
}
ul.sns li {
	display:inline-block;
	text-align:center;
	margin-left: 19px;
}
ul.sns a {
	display: flex;
	align-items: center;
	filter:alpha(opacity=85);
	-moz-opacity: 0.85;
	opacity: 0.85;
}
ul.sns a img {
	width: 40px;
}
@media only screen and (min-width: 920px) {
	.navigation li {
		display:inline-block;
	}
	.navigation > li {
		margin-bottom: 0;
		font-size: 18px;
		padding:0 0 0 1em;
	}
	ul.sns {
		margin-top: 0;
	}
	ul.sns li {
		margin-left: 5px;
	}
	ul.sns a img {
		width: 24px;
	}
}
p.mailbutton {
	margin:3em auto 2em auto;
	text-align:center;
}
p.mailbutton a {
	padding:1em;
	font-size:23px;
	background: repeating-linear-gradient(
		-45deg,
			#9c9c9c,
			#9c9c9c 10px,
			#999 10px,
			#999 20px
	);
	color:#FFF;
}
#jobsContents p a:hover {
	text-decoration: underline;
}

@media only screen and (max-width: 900px) {
article.wrap  section .job h3 {
	font-size:26px;
}
}
@media only screen and (max-width: 640px) {
p.mailbutton a {
	font-size:20px;
}
}
@media only screen and (max-width: 560px) {
.menu {
	margin-bottom:3em;
	height:auto;
}
p.mailbutton a {
	font-size:16px;
}
}
@media only screen and (max-width: 480px) {
	p.mailbutton a {
		display:block;
	}
}
table.list {
	width:100%;
	font-size:13px;
	border-collapse:collapse;
}
table.list tr td {
	border:#DDDDDD 1px solid;
	padding:0 1em;
	vertical-align:middle;
}
table.list thead tr td {
	border:none;
	text-align:center;
	padding:1em;
}
table.list tr.private td {
	background:#BCBABA;
}
table.list tr td.marker {
	text-align:center;
	width:4em;
	height:50px;
}
table.list tr td.thumb {
	width:120px;
	padding:0;
}
table.list tr td.thumb img {
	width:120px;
}
.works_text hr {
	margin:3em 0;
}
strong.number {
	position: absolute;
	color: #FFF;
	font-size: 30px;
	left: 45%;
	top: 45%;
	text-shadow: black 1px 1px 0px, black -1px 1px 0px,
	             black 1px -1px 0px, black -1px -1px 0px;
}
article.wrap  section li h3 {
	margin-bottom:.5em;
	font-size:1.9em;
	font-weight:300;
	line-height: 1.4;
}
ul.disc {
	margin-top:1em;
}
ul.disc li {
	list-style:disc;
	margin-left:1.5em;
	margin-bottom:.5em;
	line-height:1.6;
}
ul.discs {
	margin-bottom:2em;
}
ul.discs li {
	margin-bottom:.5em;
	font-size:13px;
	list-style: square;
	margin-left:1.5em;
	line-height:1.6;
}

/*  font awesome  ============================================================================= */
.fa,
.fas,
.far,
.fal,
.fad,
.fab {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}
.fa-angle-up:before {
  content: "\f106";
}
.fad.fa-angle-up:after {
  content: "\10f106";
}
.fa-arrow-right:before {
  content: "\f061";
}
.fad.fa-arrow-right:after {
  content: "\10f061";
}
.fa-angle-double-down:before {
	  content: "\f103";
}
.fad.fa-angle-double-down:after {
  	content: "\10f103";
}
@font-face {
  font-family: 'Font Awesome 5 Pro';
  font-style: normal;
  font-weight: 300;
  font-display: auto;
  src: url("../webfonts/fa-light-300.eot");
  src: url("../webfonts/fa-light-300.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-light-300.woff2") format("woff2"), url("../webfonts/fa-light-300.woff") format("woff"), url("../webfonts/fa-light-300.ttf") format("truetype"), url("../webfonts/fa-light-300.svg#fontawesome") format("svg"); }

.fal {
  font-family: 'Font Awesome 5 Pro';
  font-weight: 300; }
@font-face {
  font-family: 'Font Awesome 5 Pro';
  font-style: normal;
  font-weight: 400;
  font-display: auto;
  src: url("../webfonts/fa-regular-400.eot");
  src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }

.far {
  font-family: 'Font Awesome 5 Pro';
  font-weight: 400; }
@font-face {
  font-family: 'Font Awesome 5 Pro';
  font-style: normal;
  font-weight: 900;
  font-display: auto;
  src: url("../webfonts/fa-solid-900.eot");
  src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }

.fa,
.fas {
  font-family: 'Font Awesome 5 Pro';
  font-weight: 900; }


	.overlay-content {
			opacity: 0;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: rgba(128,128,128,0.7);
			z-index: 100;
			-webkit-transition: all 0.3s ease-in-out;
			transition: all 0.3s ease-in-out;
      display: none;
			z-index: 99;
	}
	.overlay-content.show {
			opacity: 1;
      display: block;
	}
	.overlay-content.show-hidden {
			-webkit-animation: overlayShowHidden 0.3s 1 forwards;
			animation: overlayShowHidden 0.3s 1 forwards;
	}
	@-webkit-keyframes overlayShowHidden {
			0% {
					opacity: 1;
			}
			100% {
					opacity: 0;
					z-index: -1;
			}
	}
	@keyframes overlayShowHidden {
			0% {
					opacity: 1;
			}
			100% {
					opacity: 0;
					z-index: -1;
			}
	}
	@-webkit-keyframes popupContentShow {
			0% {
					opacity: 0;
					-webkit-transform: translateY(30px);
					transform: translateY(30px);
			}
			100% {
					opacity: 1;
					-webkit-transform: translateY(0);
					transform: translateY(0);
			}
	}
	@keyframes popupContentShow {
			0% {
					opacity: 0;
					-webkit-transform: translateY(30px);
					transform: translateY(30px);
			}
			100% {
					opacity: 1;
					-webkit-transform: translateY(0);
					transform: translateY(0);
			}
	}
	.dialog {
			-webkit-box-pack: justify;
			-webkit-justify-content: space-between;
			-ms-flex-pack: justify;
			justify-content: space-between;
			position: absolute;
			top: 80px;
			left: 0;
			right: 0;
			width: 80vw;
			height: auto;
			border-bottom: 1px solid #E6EAEA;
			background-color: #f4f7f6;
			font-weight: 300;
			z-index: 891;
			margin: 0 auto;
			border-radius: 10px;
	}
	.width_large {
		display: none;
	}
	.width_small {
		display: block;
	}
	@media only screen and (min-width: 680px) {
		.dialog {
			top: 200px;
			width: 680px;
		}
		.width_large {
			display: block;
		}
		.width_small {
			display: none;
		}
	}
  @media only screen and (max-width: 360px) {
		.dialog {
			width: 90vw;
		}
  }

	.dialog_inner img {
		min-width: 100%;
		height: auto;
	}
	.btnFOut{
		top: 120px;
		-webkit-animation-name:'FOut';
		-webkit-animation-duration:.8s;
	}
	@-webkit-keyframes 'FOut' {
		0%{top:160px;opacity:0;visibility: hidden;}
		100%{top:120px;opacity:1;visibility: visible;}
	}
	.dialog .dialog_inner {
		padding: 11%;
		position: relative;
		text-align: center;
	}
	@media only screen and (min-width: 680px) {
		.dialog .dialog_inner {
			padding: 50px;
    }
  }
	.dialog .dialog_inner h2 {
    font-size: 21px;
		margin-bottom: 1em;
		line-height: 1.3;
	}
	.dialog .dialog_inner p {
		font-size: 13px;
		margin-bottom: 1em;
    text-align: left;
	}
	.dialog .dialog_inner p:last-child {
		margin-bottom: 0;
	}
	.box-loading {
			visibility: hidden;
			opacity: 0;
			display: -webkit-box;
			display: -webkit-flex;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			-webkit-align-items: center;
			-ms-flex-align: center;
			align-items: center;
			-webkit-box-pack: center;
			-webkit-justify-content: center;
			-ms-flex-pack: center;
			justify-content: center;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: rgba(24,24,24,1);
			z-index: 890;
	}
	.open .box-loading {
			top: 70px;
			height: 100vh;
	}
	.box-loading.open {
			visibility: visible;
			opacity: 0.9;
	}
	.closebts {
			position: absolute;
			top: 0;
			right: 0px;
	}
	.box-loading .bts .bt {
			position: relative;
			float: left;
			width: 66px;
			height: 70px;
			margin-left: 1px;
			line-height: 70px;
			text-align: center;
			font-size: 13px;
			font-weight: 500;
			background-color: #f4f7f6;
			cursor: pointer;
			-webkit-transition: background-color 0.3s ease-in-out;
			transition: background-color 0.3s ease-in-out;
	}
	.closebts .bt {
		position: relative;
		width: 50px;
		height: 50px;
		cursor: pointer;
		z-index: 9999;
	}
	.box-loading .bts .bt:hover {
			background-color: #878A8A;
	}
	.closebts .bt-close:after,
	.closebts .bt-close:before {
			content: '';
			position: absolute;
			top: 25px;
		right: 11px;
		width: 27px;
			height: 1px;
			background: #000;
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
			-webkit-transition: all 0.3s ease-in-out;
			transition: all 0.3s ease-in-out;
	}
	.box-loading .bts .bt-close:after,
	.closebts .bt-close:after {
			-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
	}
	.closebts:hover .bt-close:after,
	.closebts:hover .bt-close:before {
		background: #999;
	}
