header, main, article, nav, section, footer {
	 display: block;
}

body {
  font-family: 'Noto Sans Japanese', sans-serif;
  font-size: 14px;
}

 .alert {
	 position: fixed;
	 top: -100px;
	 right: 0;
	 left: 0;
	 z-index: 5000;
	 text-align: center;
	 transition: 1s;
}
 .alert span {
	 position: relative;
	 display: inline-block;
	 background: #0084ff;
	 border-radius: 0 0 4px 4px;
	 min-width: 200px;
	 line-height: 40px;
	 height: 40px;
	 font-size: 14px;
	 color: #fff;
}
 .alert.alert-danger span {
	 background: #c62958;
}
 header {
	 position: fixed;
	 z-index: 2000;
	 top: 0;
	 width: 100%;
	 background: #111 !important;
	 color: #fff;
	 font-size: 14px;
	 line-height: 30px;
	 box-sizing: border-box;
	 height: 30px;
	 text-align: center;
}
 main {
	 margin-top: 30px;
	 position: relative;
	 display: flex;
	 justify-content: flex-start;
}
 main nav {
	 box-sizing: border-box;
	 z-index: 1000;
	 width: 240px;
	 min-width: 240px;
	 background: #fff;
	 box-shadow: 0 0 10px 0 rgba(0,0,0,0.5);
}
 main nav .sticky {
	 position: sticky;
	 top: 30px;
	 bottom: 0;
}
 main nav .company-logo {
	 width: 100%;
	 padding: 30px 0;
	 text-align: center;
}
 main nav .company-logo img {
	 width: 90%;
	 height: auto;
}
 main nav ul li.menu-close {
	 display: none;
}
 main nav ul li a {
	 display: block;
	 border-top: 1px solid #ddd;
	 border-left: 1px solid #fff;
	 padding: 15px 10px 15px 15px;
	 background: #fff;
}
 main nav ul li a:link, main nav ul li a:visited, main nav ul li a:active {
	 text-decoration: none;
	 color: #333;
}
 main nav ul li a:hover {
	 background: #f5f5f5;
}
 main article {
	 position: relative;
	 z-index: 500;
	 flex-grow: 2;
	 background: #111;
	 min-height: 100vh;
	 width: calc(100% - 240px);
}
main article.privacy-policy-page {
	background: #fff;
}
 main article section {
	 padding-bottom: 50px;
	 background: #fff;
}
 main article section:nth-child(2n) {
	 background: #f5f5f5;
}
 main article section h1 {
	 padding-top: 30px;
	 margin-bottom: 20px;
	 width: 100%;
	 text-align: center;
	 font-size: 24px;
	 letter-spacing: 2px;
}
 main article section h1 small {
	 display: block;
	 margin-top: 5px;
	 font-size: 12px;
	 letter-spacing: 4px;
	 color: #666;
}
 main article .pager {
	 margin-top: 30px;
	 text-align: center;
}
 main article .pager a {
	 margin: 0 10px;
	 border: 2px solid #666;
	 display: inline-block;
	 width: 140px;
	 margin: 20px auto 0;
	 padding: 10px 0px;
	 text-align: center;
	 background: #fff;
	 transition: .3s;
}
 main article .pager a:link, main article .pager a:visited, main article .pager a:active {
	 color: #666;
	 text-decoration: none;
}
 main article .pager a:hover {
	 background: #f5f5f5;
}
 main article footer {
	 background: #111;
	 color: #fff;
	 text-align: center;
	 line-height: 2em;
	 letter-spacing: 2px;
	 padding: 20px 0;
	 font-size: 12px;
	 color: #888;

	 a.privacy-policy-link {
			font-size: 16px;
			font-weight: 500;
			color: #888;
			text-decoration: none;
	}
}
 main article #main-visual {
	 position: relative;
	 padding-bottom: 0;
}
 main article #main-visual .image-wrapper {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 width: 100%;
	 height: 350px;
	 overflow: hidden;
}
 main article #main-visual .image-wrapper img {
	 min-width: 800px;
	 width: 100%;
	 height: auto;
	 min-height: 350px;
}
 main article #main-visual .image-wrapper.sub-page {
	 height: 100px;
}
 main article #main-visual .image-wrapper.sub-page img {
	 filter: blur(60px);
}
 main article #main-visual .vision {
	 position: absolute;
	 display: flex;
	 flex-direction: column;
	 justify-content: center;
	 align-items: center;
	 width: 100%;
	 top: 0;
	 bottom: 0;
}
 main article #main-visual .vision h2 {
	 position: relative;
	 top: -15px;
	 font-size: 36px;
	 color: #fff;
	 text-shadow: 2px 2px 8px rgba(0,0,0,0.5);
	 letter-spacing: 4px;
	 text-align: center;
}
 main article #main-visual .vision a {
	 display: block;
	 margin-top: 30px;
	 font-size: 14px;
	 letter-spacing: 2px;
	 border: 2px solid #fff;
	 padding: 10px 20px;
	 line-height: 1.0em;
}
 main article #main-visual .vision a:link, main article #main-visual .vision a:visited, main article #main-visual .vision a:active {
	 color: #fff;
	 text-decoration: none;
}
 main article #main-visual .vision.sub-page {
	 background: rgba(0,0,0,0.2);
}
 main article #main-visual .vision.sub-page h2 {
	 top: -4px;
	 font-size: 28px;
}
 main article #main-visual .vision.sub-page h2 small {
	 display: block;
	 margin-top: 4px;
	 font-size: 12px;
	 letter-spacing: 2px;
}
 main article #business ul {
	 display: flex;
	 justify-content: space-around;
	 justify-content: center;
}
 main article #business ul li {
	 position: relative;
	 width: 30%;
	 max-width: 400px;
	 border-radius: 2px;
	 overflow: hidden;
	 margin-left: 10px;
	 margin-right: 10px;
}
 main article #business ul li img {
	 width: 100%;
	 height: auto;
	 filter: blur(4px);
}
 main article #business ul li img:hover {
	 filter: blur(0);
}
 main article #business ul li a {
	 position: absolute;
	 top: 0;
	 right: 0;
	 bottom: 0;
	 left: 0;
	 display: flex;
	 align-items: center;
	 flex-direction: column;
	 justify-content: center;
	 background: rgba(0,0,0,0.5);
	 transition: .3s;
	 color: #fff;
	 text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
	 text-align: center;
	 font-size: 16px;
	 letter-spacing: 2px;
}
 main article #business ul li a:link, main article #business ul li a:visited, main article #business ul li a:active {
	 color: #fff;
	 text-decoration: none;
}
 main article #business ul li a:hover {
	 background: rgba(0,0,0,0.4);
}
 main article #business ul li a span {
	 display: inline-block;
	 font-size: 14px;
	 margin-top: 20px;
	 border: 2px solid #fff;
	 padding: 10px 20px;
	 line-height: 1em;
}
 main article #info ul li {
	 width: 90%;
	 margin: 0 auto;
	 padding: 15px 0;
	 border-bottom: 1px solid #ddd;
}
 main article #info ul li time {
	 letter-spacing: 2px;
	 font-size: 12px;
	 color: #666;
}
 main article #info ul li p {
	 margin-top: 0px;
	 font-size: 18px;
}
 main article #info ul li p a:link, main article #info ul li p a:visited, main article #info ul li p a:active {
	 color: #000;
}
 main article #info ul li .info-detail {
	 width: 100%;
	 margin-top: 8px;
	 display: none;
	 background: #eee;
	 padding: 20px;
	 overflow-wrap: break-word;
	 word-break: break-all;
	 box-sizing: border-box;
	 line-height: 1.75em;
}
 main article #info a.more-info {
	 border: 2px solid #666;
	 display: block;
	 width: 140px;
	 margin: 20px auto 0;
	 padding: 10px 0px;
	 text-align: center;
	 background: #fff;
	 transition: .3s;
	 line-height: 1.0em;
}
 main article #info a.more-info:link, main article #info a.more-info:visited, main article #info a.more-info:active {
	 color: #666;
	 text-decoration: none;
}
 main article #info a.more-info:hover {
	 background: #f5f5f5;
}
 main article #business-detail section hr {
	 border: none;
	 height: 4px;
	 width: 50px;
	 margin: 0 auto;
	 background: #111;
	 margin-bottom: 30px;
}
 main article #business-detail section .body {
	 display: flex;
	 justify-content: flex-start;
	 width: 90%;
	 margin: 0 auto;
	 padding: 0 20px;
	 word-break: break-all;
}
 main article #business-detail section .body img {
	 align-self: flex-start;
	 width: 280px;
	 height: auto;
	 margin: 0 15px 15px 0;
}
 main article #business-detail section .body p {
	 margin-left: 20px;
	 line-height: 1.75em;
}
 main article #vision h1 {
	 padding-top: 40px;
}
 main article #vision div {
	 padding-top: 20px;
	 line-height: 2em;
	 letter-spacing: 1px;
	 text-align: center;
	 font-size: 16px;
}
 main article #company-info table {
	 width: 70%;
	 margin: 30px auto 0;
}
 main article #company-info table th, main article #company-info table td {
	 padding: 15px;
	 border-bottom: 1px solid #ddd;
}
 main article #company-info table th {
	 width: 150px;
	 padding-left: 0;
}
 main article #recruit_info {
	 padding-top: 48px;
}
 main article #recruit_info .recruit_list .no_more_remarks_toggle {
	 text-align: center;
}
 main article #recruit_info .recruit_remark_list {
	 width: 70%;
	 margin: 30px auto 0;
}
 main article #recruit_info .recruit_remark_list .recruit_remark {
	 border-radius: 5px;
	 background-color: #fff;
	 padding: 30px 40px;
	 border: 1px solid #ddd;
	 margin-bottom: 36px;
}
 main article #recruit_info .recruit_remark_list .recruit_remark .recruit_remark_head {
	 background-color: #000;
	 padding: 14px 40px 0px 40px;
	 border-bottom: 1px solid #ddd;
	 border-radius: 5px 5px 0px 0px;
}
 main article #recruit_info .recruit_remark_list .recruit_remark .recruit_remark_head .recruit_remark_title {
	 padding-bottom: 14px;
}
 main article #recruit_info .recruit_remark_list .recruit_remark .recruit_remark_head .recruit_remark_title a {
	 color: #fff;
	 font-size: 1rem;
	 text-decoration: none;
}
 main article #recruit_info .recruit_remark_list .recruit_remark .recruit_remark_head .recruit_remark_title a:hover {
	 text-decoration: underline;
}
 main article #recruit_info .recruit_remark_list .recruit_remark .recruit_remark_body {
	 padding: 14px 40px 0px 40px;
}
 main article #recruit_info .recruit_remark_list .recruit_remark .recruit_remark_body dl {
	 display: flex;
	 flex-wrap: wrap;
	 margin-bottom: 20px;
}
 main article #recruit_info .recruit_remark_list .recruit_remark .recruit_remark_body dl dt {
	 padding: 8px 16px 8px 16px;
	 font-weight: bold;
	 width: 14%;
	 text-align: right;
	 border-right: 2px solid gray;
}
 main article #recruit_info .recruit_remark_list .recruit_remark .recruit_remark_body dl dd {
	 padding: 8px 0px 8px 16px;
	 width: 68%;
}
 main article #recruit_info .recruit_remark_list .recruit_remark .recruit_remark_footer {
	 padding: 0px 20px;
	 background-color: #d3d3d3;
	 border-radius: 0px 0px 5px 5px;
}
 main article #recruit_info .recruit_remark_list .recruit_remark .recruit_remark_footer .btn-container {
	 padding: 12px 0;
}
 main article #recruit_info .recruit_remark_list .recruit_remark .recruit_remark_footer .btn-container .detail_btn:hover {
	 text-decoration: underline;
	 border: 1px solid #eee;
}
 main article #recruit_info .recruit_remark_list .recruit_remark .recruit_remark_footer .btn-container .detail_btn {
	 font-size: 0.9rem;
	 font-weight: bold;
	 background-color: white;
	 border: 1px solid #7d7d7d;
	 padding: 10px 20px;
	 display: block;
	 width: 180px;
	 margin: 0px auto;
	 text-decoration: none;
	 cursor: pointer;
	 text-align: center;
	 border-radius: 5px;
	 color: #000;
}
 main article #recruit_info .recruit_remark_list .recruit_remark .work_detail {
	 overflow: auto;
	 max-height: 280px;
}
 main article #contact form ul {
	 width: 800px;
	 margin: 0 auto;
	 padding-top: 40px;
}
 main article #contact form ul li {
	 display: flex;
	 justify-content: flex-start;
	 padding: 15px 0;
	 text-align: left;
}
 main article #contact form ul li span {
	 display: inline-block;
	 color: #991d23;
}
 main article #contact form ul li label {
	 display: block;
	 width: 200px;
	 padding: 8px 8px;
	 line-height: 1.75em;
}
 main article #contact form ul li label span {
	 margin-left: 6px;
}
 main article #contact form ul li input, main article #contact form ul li textarea {
	 display: block;
	 flex-grow: 2;
	 font-size: 16px;
	 line-height: 1.75em !important;
	 padding: 6px 8px;
	 background: #fff;
	 box-shadow: none;
	 border: 1px solid #ccc;
}
 main article #contact form ul li input:focus, main article #contact form ul li textarea:focus {
	 background: #e8f0fc;
	 outline: 0;
}
 main article #contact form button {
	 display: inline-block;
	 width: 200px;
	 height: 54px;
	 text-align: center;
	 text-decoration: none;
	 line-height: 54px;
	 outline: none;
	 position: relative;
	 z-index: 2;
	 background-color: #fff;
	 border: 2px solid #333;
	 color: #333;
	 line-height: 48px;
	 font-size: 16px;
	 letter-spacing: 4px;

	 &:disabled {
		opacity: 0.5;
		cursor: not-allowed;
	 }
}
 main article #contact form button::before, main article #contact form button::after {
	 position: absolute;
	 z-index: -1;
	 display: block;
	 content: '';
}
 main article #contact form button, main article #contact form button::before, main article #contact form button::after {
	 -webkit-box-sizing: border-box;
	 -moz-box-sizing: border-box;
	 box-sizing: border-box;
	 -webkit-transition: all .3s;
	 transition: all .3s;
}
 main article #contact form button {
	 position: relative;
	 z-index: 2;
	 background-color: #fff;
	 border: 2px solid #333;
	 color: #333;
	 line-height: 48px;
}
 main article #contact form button::after {
	 top: 4px;
	 left: 4px;
	 width: 188px;
	 height: 42px;
	 border: 2px solid #333;
	 opacity: 0;
}
 main article #contact form button:hover::after {
	 opacity: 1;
}
 main article #recruit p {
	 padding-top: 20px;
	 line-height: 2em;
	 letter-spacing: 1px;
	 text-align: center;
	 font-size: 16px;
}
 #menu-btn {
	 display: none;
}

.nl2br {
  white-space:pre-wrap;
  word-wrap:break-word;
}

 @media screen and (max-width: 480px) {
	header {
		background: rgba(0, 0, 0, 0.9);
	}
	main nav {
		z-index: 6000;
		opacity: 0;
		position: fixed;
		right: 0;
		bottom: -500px;
		left: 0;
		width: 100%;
		min-width: 100px;
		background: #ffffff;
		transition: 0.8s;
		box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.3);
	}
	main nav .sticky {
		position: relative;
		top: 0;
	}
	main nav .company-logo {
		background: #fff;
		padding: 20px 0;
	}
	main nav .company-logo img {
		width: 50%;
	}
	main nav ul li a {
		background: #fff;
		text-align: center;
		padding-left: 0;
		border: none;
		letter-spacing: 4px;
		font-size: 16px;
	}
	main nav ul li.menu-close {
		display: block;
	}
	main nav ul li.menu-close a {
		background: #f5f5f5;
	}
	main article {
		width: 100%;
	}
	main article h1 {
		font-size: 16px;
	}
	main article section {
		padding-bottom: 25px;
	}
	main article section h1 {
		font-size: 18px;
	}
	main article #main-visual .image-wrapper {
		height: 200px;
	}
	main article #main-visual .vision h2 {
		font-size: 16px;
	}
	main article #main-visual .vision.sub-page h2 {
		font-size: 20px;
	}
	main article #main-visual .vision.sub-page h2 small {
		font-size: 10px;
	}
	main article #info ul li p {
		overflow-wrap: break-word;
		word-break: break-all;
	}
	main article #business ul {
		flex-direction: column;
	}
	main article #business ul li {
		align-self: center;
		width: 90%;
		height: 150px;
		overflow: hidden;
		margin-bottom: 20px;
	}
	main article #business-detail section .body {
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}
	main article #business-detail section .body img {
		align-self: center;
		width: 100%;
	}
	main article #business-detail section .body p {
		margin-left: 0;
		text-align: left;
	}
	main article #company-info table {
		width: 90%;
	}
	main article #recruit_info {
		padding-top: 48px;
	}
	main article #recruit_info .recruit_remark_list {
		width: 90%;
		margin: auto;
	}
	main article #recruit_info .recruit_remark_list .recruit_remark {
		background-color: #fff;
		padding: 20px 20px;
		border: 1px solid #ddd;
		border-radius: 5px;
		margin-bottom: 36px;
	}
	main article #recruit_info .recruit_remark_list .recruit_remark .recruit_remark_title {
		padding-bottom: 10px;
		color: red;
	}
	main article #recruit_info .recruit_remark_list .recruit_remark .work_detail {
		-webkit-overflow-scrolling: auto;
		overflow-y: auto;
		max-height: 280px;
	}
	main article #recruit_info .recruit_remark_list .recruit_remark .work_detail::-webkit-scrollbar {
		width: 10px;
	}
	main article #recruit_info .recruit_remark_list .recruit_remark .work_detail::-webkit-scrollbar-thumb {
		background: #999;
		border-radius: 10px;
	}
	main article #recruit_info .recruit_remark_list .recruit_remark .work_detail::-webkit-scrollbar-track-piece:start {
		background: #efefef;
	}
	main article #recruit_info .recruit_remark_list .recruit_remark .work_detail::-webkit-scrollbar-track-piece:end {
		background: #efefef;
	}
	main article #recruit_info .recruit_remark_list .recruit_remark dl {
		margin-bottom: 20px;
	}
	main article #recruit_info .recruit_remark_list .recruit_remark dl dt {
		padding: 16px 0px;
		font-weight: bold;
	}
	main article #recruit_info .recruit_remark_list .recruit_remark .btn-container {
		padding: 10px 0px;
	}
	main article #recruit_info .recruit_remark_list .recruit_remark .btn-container .detail_btn:hover {
		text-decoration: underline;
		border: 1px solid #eee;
	}
	main article #recruit_info .recruit_remark_list .recruit_remark .btn-container .detail_btn {
		font-size: 1rem;
		background-color: white;
		border: 1px solid #ddd;
		padding: 16px;
		display: block;
		width: 180px;
		margin: 0px auto;
		text-decoration: none;
		cursor: pointer;
		text-align: center;
		border-radius: 10px;
	}
	main article #contact form ul {
		padding-top: 0;
		width: 100%;
	}
	main article #contact form ul li {
		width: 90%;
		margin: 0 auto;
		flex-direction: column;
	}
	main article #contact form ul li label {
		width: 100%;
		text-align: center;
	}
	main article #contact form ul li p {
		text-align: center;
	}
	#menu-btn {
		position: fixed;
		z-index: 5500;
		bottom: 20px;
		left: 20px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		height: 60px;
		width: 60px;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.9);
		box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.5);
	}
	#menu-btn span {
		display: block;
		margin: 2px auto;
		height: 3px;
		width: 30px;
		background: #111;
	}
/*# sourceMappingURL=sp.css.map */
}
 