body {
	padding: 0;
	margin: 0;
	text-align :center;
	font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #333333;
}

a {
	color: #333333;
}

img {
	height: auto;
	vertical-align: bottom;
	border: none;
	-webkit-backface-visibility: hidden;
}

h3 {
	color: #333333;
}

/* ヘッダー固定 */

#header {
	position: fixed;
	top: 0;
	margin: 0;
	padding: 12px 4px 6px 0;
	width: 100%;
	background-color: #ffffff;
	z-index: 9999;
	height: 70px;
	text-align: left;
}

#header img {
	max-width: 374px;
	width: 100%;
	margin: 0 auto;
	padding: 3px 0 5px 6%;
}

hr.hr1 {
	border: none;
	background-color: #7fbfff;
	height: 4px;
}

#contents {
	padding-top: 92px;
}

#contents a{
	display: block;
	color:# 333333;
	padding: 10px;
}

/* スクロールで出現するメニュー */

.fix-header {
	background-color: #007fff;
	line-height: 66px;
	top: -106px;
	text-align: center;
	width: 100%;
	margin: 0 auto;
	color: #ffffff;
	padding-top: 71px;
	position: fixed;
	opacity: 0;
	z-index: 1000;
}

.fix-header-contents {
	margin: 0 auto;
}

.fix-header ul {
	list-style-type: none;
	width: 100%;
	text-align: center;
}

.fix-header li {
	display: inline-block;
	float: left;
	text-align: center;
	width: calc(100% / 6);
	border-right: 1px solid #ffffff;
	box-sizing: border-box;
	padding: 0 1px 0 0;
	margin: 0;
}

.fix-header li:hover {
	background-color: #7fbfff;
}

.fix-header li a,.fix-header li a:visited {
	color: #ffffff;
	text-decoration: none;
	display: block;
	width:100%;
}

.fix-header li:first-child {
	margin-left: -40px;
}

.fix-header li:last-child {
	border-right: none;
}

@media screen and (max-width: 640px) {

	#contents {
		padding-top: 88px;
	}

	.fix-header-contents {
		text-align: center;
		width: 100%;
	}

	.fix-header ul {
		list-style-type: none;
		width: 100%;
		text-align: center;
 	}

	.fix-header li {
		float: left;
		text-align: center;
		width: calc(100% / 6);
		padding: 0;
		margin: 0;
		box-sizing: border-box;
	}

	.fix-header li a,.fix-header li a:visited {
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 70%;
		color: #ffffff;
		text-decoration: none;
		border-right: 1px solid #ffffff;
		line-height: 1.6;
		height: 5em;
	}

	.fix-header li:first-child {
		margin-left: -40px;
	}

	.fix-header li:last-child {
		border-right: none;
	}

}

/* スライド全画面背景 */

.bgimg-slider {
	width: 100vw;
	max-width: 100%;
    	height: 100vh;
	background-position: center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ページ内リンク */

.button1 {
	margin: 4px auto 8px;
	text-align: center;
}

.btn-border1 {
	margin: 0 auto;
	display: inline-block;
	max-width: 360px;
	text-align: center;
	background: #ffffff;
	border: 2px solid #007fff;
	font-size: 16px;
	color: #007fff !important;
	text-decoration: none;
	font-weight: 500;
	padding: 8px 16px;
	border-radius: 4px;
	transition: .4s;
}

.btn-border1:hover {
	background-color: #7fbfff;
	border-color: #007fff;
	color: #ffffff !important;
}

.btn-last {
	margin-bottom: 30px;
}

#page-link,
#page-link3 {
	margin: 70px auto 0;
	background: #ffffff;
	color: #ffffff;
	padding: 10px;
}

#page-link2 {
	margin: 80px auto 0;
	background: #e6e6e6;
	color: #333333;
	padding: 10px;
}

#page-link4 {
	margin: 80px auto 0;
	color: #ffffff;
	padding: 10px;
}

.box,
.box3 {
	background: #ffffff;
	color: #ffffff;
	margin: 70px auto 0;
	padding:10px;
}

.box2 {
	background: #e6e6e6;
	color: #333333;
	margin: 70px auto 0;
	padding: 10px;
}

.box3 p {
	color: #333333;
}

.box-text {
	margin: 20px auto 0;
	color: #333333;
}

.box-text2 {
	margin: 20px auto 0;
	color: #ffffff;
}

.box-text small,
.box-text2 small {
	color: #7fbfff;
	font-weight: 400;
	font-size: 70%;
}

/* メインパネル */

main {
	position: absolute;
	top: 54%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 15px 30px;
	background: rgb(0 127 255 / 0.25);
	color: #ffffff;
	text-align: center;
	max-width: 800px;
	width: 70%;
	 border-radius: 10px;
	z-index: 3;
}

/* 会社名 */

main h1 {
	margin: 0 auto 30px;
	width: 96%;
	max-width: 700px;
	min-height: 30px;
	padding-top: 50px;
	position: relative;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	font-size: 150%;
}

main h1:before {
	position: absolute;
	bottom: -10px;
	left: calc(50% - 30px);
	width: 60px;
	height: 5px;
	content: '';
	border-radius: 3px;
	background: #ffffff;
}

.info {
	margin: 0 auto;
	padding: 0;
}

.info p {
	width: 90%;
	max-width: 700px;
	text-align: left;
	margin: 0 auto;
	padding-bottom: 20px;
	text-align: center;
}

/* 電話番号 */

.btn,
a.btn,
button.btn {
	margin: 20px 0;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1rem 1rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	color: #ffffff;
	border-radius: 0.5rem;
}

.ls {
	letter-spacing: 0.15em;
}

.ls2 {
	letter-spacing: 0.1em;
}

a.btn-border {
	border-radius: 0;
}

a.btn-border:before,
a.btn-border:after {
	position: absolute;
	width: 100%;
	height: 2px;
	content: '';
	-webkit-transition: all .3s;
	transition: all .3s;
	background: #ffffff;
}

a.btn-border:before {
	top: 0;
	left: 0;
}

a.btn-border:after {
	right: 0;
	bottom: 0;
}

a.btn-border:hover:before,
a.btn-border:hover:after {
	width: 0;
}

/* FAX番号 */

.fax-d {
	margin: 0 auto;
	padding: 10px 0 30px;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.15em;
}

.fa-fax {
	padding-right: 3px;
}

/* 会社概要・採用情報 */

table {
	max-width: 960px;
	width: 100%;
	margin: 0 auto 30px;
	color: #000000;
	text-align: center;
}

.tbl-r02 th {
	background: #007fff;
	border: none;
	color: #ffffff;
	padding: 10px;
}

.tbl-r02 td {
	background: #ffffff;
	border: none;
	padding: 10px 20px;
	text-align: left;
}
 
@media screen and (max-width: 640px) {

	.last td:last-child {
		border-bottom: solid 1px #cccccc;
		width: 100%;
	}

	.tbl-r02 {
		width: 90%;
		padding: 0 20px 0 0;
	}

	.tbl-r02 th,
	.tbl-r02 td {
		border-bottom: none;
		display: block;
		width: 100%;
	}
  
	.tbl-r02 td {
		background: #ffffff;
		border: none;
		padding: 10px;
		text-align: left;
	}

}

/* フッター */

footer {
	margin: 0 auto;
	padding: 0 0 2px 0;
	background: #007fff;
	color: #ffffff;
}

.copy {
	top: 0;
	margin: 5em auto 10px;
	padding: 0 0 10px 0;
}

/* PC設定 */

.pc-text {
		display: none;
}

@media screen and (min-width: 769px) {

	a[href^="tel:"] {
		pointer-events: none;
	}
  
	.sp-text {
		display: none;
	}

	.pc-text {
		display: inline;
	}


}

/* DL共通 */

.dl-common {
	margin: 0;
	display: flex;
	flex-direction: column;
}

.dl-common div {
	margin: 0 0 1em 0;
	display: flex;
}

.dl-common dt {
	margin: 0;
	text-align: left;
}

.dl-common dt:after {
	content: ":";
	margin: 0 1em 0 0;
}

.dl-common dd {
	margin: 0;
	text-align: left;
}

/* 共通フォーマット */

.format-common {
	margin: 0 auto 4em auto;
	padding: 2em 4em;
	max-width: 960px;
	width: 100%;
	box-sizing: border-box;
	color: #333333;
}

.format-common h4 {
	text-align: left;
}

.format-common p {
	text-align: left;
}

.format-common dl {
	margin: 0;
}

.format-common dt {
	margin: 0;
	text-align: left;
}

.format-common dd {
	margin: 0 0 1em 0;
	text-align: left;
}

.format-common ul {
	margin: 0;
}

.format-common ol {
	margin: 0;
}

.format-common li {
	margin: 0;
}

.text-scrollable {
	display: none;
}

@media screen and (max-width: 1024px) {

	.table-scroll {
		width: 100%;
		overflow-x: scroll;
		margin: 0;
		padding: 0;
	}

	.text-scrollable {
		text-align: left;
		display: block;
		margin: 0 0 0.25em 0;
		padding: 0;
		font-size: 0.75em;
	}

}

.format-common table {
	-webkit-overflow-scrolling: touch;
	width: 832px;
	border-collapse: collapse;
	font-size: 0.75em;
	margin-top: 30px;
}

.format-common th {
	background: #007fff;
	border: solid 1px #cccccc;
	color: #ffffff;
	padding: 1.5em 0.5em 1.5em 0.5em;
	text-align: center;
	border-collapse: collapse;
}

.format-common td {
	border: solid 1px #cccccc;
	padding: 1.5em 0.5em 1.5em 0.5em;
	text-align: center;
	border-collapse: collapse;
	width: calc(100% / 10);
}

.format-common td span {
	color: #c80000;
}

.table-sub {
	-webkit-overflow-scrolling: touch;
	width: 832px;
	border-collapse: collapse;
	font-size: 0.75em;
	margin-top: 30px;
}

.table-sub th {
	background: #007fff;
	border: solid 1px #cccccc;
	color: #ffffff;
	padding: 1.5em 0.5em 1.5em 0.5em;
	text-align: center;
	border-collapse: collapse;
	width: calc(100% / 4);
}

.table-sub td {
	border: solid 1px #cccccc;
	padding: 1.5em 0.5em 1.5em 0.5em;
	text-align: center;
	border-collapse: collapse;
	width: calc(100% / 4);
}

/* 求人情報バナー */

.banner-job {
	margin: 5em 0 5em 0;
}

.banner-job a {
	max-width: 600px;
	display: block;
	margin: 0 auto;
	padding: 4em;
	text-align: center;
	font-size: 1.1em; !important;
	font-weight: bold;
	color: #ffffff !important;
	background: #646464;
	box-sizing: border-box !important;
	text-decoration: none !important;
}

.banner-job a:hover {
	text-decoration: none !important;
	background: #969696;
}

/* Googlemapリンク */

.link-gmap {
	display: inline !important;
	padding: 0 !important;
}

/* マーク */

.mark {
	margin-top: 5em;
	gap: 5em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.mark-list {
	font-size: 0.75em;
	color: #000000;
}

.mark-list img {
	width: auto;
	height: 180px;
	margin-bottom: 1em;
}

/* 理念 */

.rinen {
	margin-top: 5em;
	gap: 5em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.rinen-list {
	color: #000000;
}

.rinen-list h3 {
	font-size: 2em;
}

.rinen-list p {
	text-align: left;
}

.rinen-list img {
	width: 90px;
	height: auto;
	margin-bottom: 1em;
}


/* 署名 */
.sig {
	text-align: right !important;
	font-size: 0.9em;
}

/* フォトリスト */

.photo-list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 1em;
}

.photo-list img{
	display: block;
	width: 100%;
	height: auto;
}

/* メールフォーム */

.contact-form {
	max-width:　960px;
	margin:0 auto;
	padding: 1em;
	border:1px solid #e6e6e6;
	border-radius: 0.5em;
}

.contact-form dl{
	margin:0;
}

.contact-form dl > div {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 1em;
	padding: 0.5em 0;
	border-bottom:1px solid #e6e6e6;
}

.contact-form dl > div:last-child {
	border-bottom: none;
}

.contact-form dt {
	font-weight: 600;
	padding-top: 0.5em;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
	box-sizing: border-box;
	width:100%;
	padding: 1em;
	border:1px solid #cccccc;
	border-radius: 0.5em;
}

.contact-form textarea{
	resize:vertical;
	min-height:120px;
}

.contact-form input:focus,
.contact-form textarea:focus{
	outline: none;
	border-color: #4a90e2;
	box-shadow: 0 0 0 2px rgba(74,144,226,0.15);
}

.form-actions {
	margin-top: 1em;
	text-align:center;
}

.form-actions button {
	padding: 1em 2em;
	font-weight: 600;
	color: #ffffff;
	background: #007fff;
	border: none;
	border-radius: 999px;
	cursor: pointer;
}

.form-actions button:hover {
	background: #7fbfff;
}

@media (max-width:640px) {

	.contact-form dl > div {
		grid-template-columns:1fr;
	}

	.contact-form dt {
		padding-top:0;
	}
}

.contact-thanks{
	max-width:　960px;
	margin:0 auto;
	padding: 1em 2em 1em 2em;
	border:1px solid #e6e6e6;
	border-radius: 0.5em;
}

/* 強みセクション全体 */

.strengths {
	max-width: 960px;
	margin: 0 auto;
	padding: 1em;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1em;
}

.strengths-point {
	border: 1px solid #e6e6e6;
	border-radius: 0.5em;
	padding: 1em;
	background: #ffffff;
}

.strengths-point h3 {
	margin: 0 0 0.5em;
	font-size: 1.05em;
	font-weight: 600;
	color: #333333;
}

.strengths-point p {
	margin: 0;
	line-height: 1.8;
	color: #333333;
	font-size: 0.95em;
}

@media (max-width:640px) {

	.strengths {
		grid-template-columns: 1fr;
	}

}

/* SP調整 */

@media screen and (max-width: 640px) {

	#header {
		text-align: center;
}

	#header img {
		max-width: 240px;
		width: 100%;
		margin: 0 auto;
		padding: 12px 0 12px 0;
	}

	.format-common {
		padding: 1em;
	}


	.dl-common div {
		flex-direction: column;
	}

	.dl-common dt:before {
		content: "▼";
	}

	.dl-common dt:after {
		display: none;
	}

	.photo-list{
		grid-template-columns: repeat(2,1fr);
	}

}