@charset "UTF-8";
/*--------------------------------------------------
【更新履歴】
2020.1.28 ：マニュアル作成にあたり内容整理。
2019.5.29 ：メインイメージ・ヘッダー・フッターの記述を整理、最適化。
2019.4.10 ：単位の混在を整理。
2018.11.29：不要な要素などを削除。
2018.05.24：	共通要素の色とBGの設定を分離せず一か所にまとめるようにしました。
2018.05.17：	更新履歴の項を追加。メディアクエリに印刷時の記述を追加。
			@media screen and ~~ -> @media print, screen and~~

目次
・基本ルール
・ベースレイアウト
	└ヘッダー・ナビゲーション・メインイメージ・コンテンツ・フッター
・コンテンツ部分の共通スタイル
・サイト全体で使う共通スタイル
・ページ個別のスタイル
	└index,about,contactなど

■normalize.cssについて
各ブラウザ特有のズレなどをリセットするためのCSSです。
こちらは編集しないで下さい。
全てのスタイルはstyle.cssで指定して下さい。

■メディアクエリについて
記述例：
ウィンドウサイズが600px以上（PC）のCSSを指定する場合
@media print, screen and (min-width: 600px) {
	header {
		font-size: 1.5rem;
	}
	header p {
		color: red;
	}
}

■本番公開前のクリーンアップ
下記のようなクリーンアップサービスなどを使用して
コメントや不要な改行を削除して下さい。
https://csscompressor.com/
--------------------------------------------------*/
/*--------------------------------------------------
	基本ルール
--------------------------------------------------*/
/*font-sizeはremで指定しています。15px=1.5rem。*/
html {
	font-size: 62.5%;
}
body {
	font-size: 16px;
	font-size: 1.6rem;
	font-family: "游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
	font-weight: 500;/*細めのフォントを見やすくする。デザイン次第で不要なら削除。*/
	line-height: 1.7;
	color: #555656;
}
table {
	table-layout: fixed;/*IE11*/
	border-collapse: collapse;
	border-spacing: 0;
}
p, h1, h2, h3, h4, h5, h6, ul, li, ol, dl, dt, dd, figure {
	margin: 0;
	padding: 0;
}
ul, li, ol, dl, dt, dd {
	list-style: none;
}
a {
}
a:hover {
	text-decoration: none;
}
strong {
	font-weight: bold;
}
img {
	margin: 0;
	vertical-align: middle;
	border: none;
}
/*--------------------------------------------------
	ベースレイアウト
--------------------------------------------------*/
header, .mainimg, .wrapper, footer {
	width: 100%;
}
/*ヘッダー*/
header {
	background: #fff;
}
header .hdr_bar {
	width: 100%;
	background: linear-gradient(#fff, #86bce4);
	background: -moz-linear-gradient(#fff, #86bce4);
	background: -webkit-linear-gradient(#fff, #86bce4);
}
header .hdr_bar p {
	padding: 8px 4px;
	font-size: 1.2rem;
	color: #565656;
}
header .hdr_box {
	position: relative;
	width: 100%;
}
header .hdr_box h1 {
	width: 60%;
	width: calc(100% - 144px);
}
header .hdr_box h1 a {
	position: relative;
	display: block;
	width: 100%;
	height: 72px;
}
header .hdr_box h1 img {
	display: block;
	width: auto;
	position: absolute;
	top: 50%;
	left: 4px;
	transform: translate(0%, -50%);
	max-width: 96%;
	height: auto;
	max-height: 60px;
	image-rendering: auto;
	-webkit-backface-visibility: hidden;
}
header .hdr_contact {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
}
header .hdr_contact .tel {
	width: 72px;
	height: 72px;
}
header .hdr_contact .tel a {
	display: block;
	width: 100%;
	height: 100%;
	text-indent: -7777px;
	overflow: hidden;
	border-left-width: 1px;
	background: rgba(95,159,206,0.6) url(../img/ico_hdrtel.png) center no-repeat;
	background-size: 50%;
	border-left-color: #fff;
	border-left-style: solid;
}
header .hdr_contact .mail {
	display: none;
}
header .hdr_contact .navbtn {
	width: 72px;
	height: 72px;
	border-left-width: 1px;
	text-indent: -7777px;
	overflow: hidden;
	background: rgba(95,159,206,0.6) url(../img/ico_navbtn.png) center no-repeat;
	background-size: 50%;
	border-left-color: #fff;
	border-left-style: solid;
}
header .hdr_contact .navbtn.navopen {
	background: rgba(95,159,206,0.6) url(../img/ico_navbtn-close.png) center no-repeat;
	background-size: 50%;
}
@media print, screen and (min-width: 600px) {
	header {
		display: block;
	}
	header .hdr_bar p {
		width: 1008px;
		margin: 0 auto;
		box-sizing: border-box;
		font-size: 1.4rem;
	}
	header .hdr_box {
		display: flex;
		justify-content: space-between;
		width: 1008px;
		padding: 20px 0px 0px;
		margin: 0 auto;
	}
	header .hdr_box h1 {
		width: 36%;
		max-height: inherit;
		padding: 0;
	}
	header .hdr_box h1 a {
		width: 100%;
		height: 100%;
	}
	header .hdr_box h1 img {
		width: 100%;
		height: auto;
		max-height: inherit;
	}
	header .hdr_contact {
		position: relative;
	}
	header .hdr_contact .tel {
		width: auto;
		height: auto;
		margin: 0 16px 0 0;
	}
	header .hdr_contact .tel a {
		padding: 8px 0 0;
		text-indent: 0;
		text-align: right;
		border: 0;
		background: none;
	}
	header .hdr_contact .tel a:hover {
		opacity: 0.7;
	}
	header .hdr_contact .tel img {
		width: 100%;
		height: auto;
	}
	header .hdr_contact .mail {
		position: relative;
		display: block;
	}
	header .hdr_contact .mail a {
		display: block;
		width: 100%;
		height: 100%;
		padding: 20px 38px;
		box-sizing: border-box;
		text-indent: -7777px;
		overflow: hidden;
		background-color: #f69a2b;
		background-image: url(../img/mail_header.png);
		background-position: center;
		background-repeat: no-repeat;
		background-size: 80% auto;
	}
	header .hdr_contact .mail a:hover {
		background-color: #f7c282;
	}
	header .hdr_contact .navbtn {
		display: none;
	}
}
.fixed .hdr_contact {/*一定距離スクロールすると電話・メニューボタンがページ右上に固定されるようにする*/
	position: fixed;
	top: 0;
	right: 0;
	z-index: 999;
}
@media print, screen and (min-width: 600px) {
	.fixed .hdr_contact {
		position: relative;
	}
}
/*ナビゲーション*/
nav {
	position: absolute;
	width: 80%;
	padding: 16px 32px 41px;
	box-sizing: border-box;
	top: -500px;
	left: 10%;
	z-index: 999;
	transition: 0.4s cubic-bezier(0.38, 0, 0.25, 1);
	background: #fff;
	border-radius: 4px;
}
/*メニューアイコンをタップした際のナビの動き*/
nav.navopen {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	transition: 0.4s cubic-bezier(0.38, 0, 0.25, 1);
}
nav li {
	border-bottom: 1px solid #5488bc;
}
nav li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 12px 0;
	text-align: center;
	text-decoration: none;
	color: #565656;
}
nav li a span {
	display:block;
	font-size: 1.2rem;
	color: #60a7db;
}
@media print, screen and (min-width: 600px) {
	nav {
		position: relative;
		width: 100%;
		padding: 0;
		top: auto;
		left: auto;
		transition: none;
		border-radius: 0;
	}
	nav ul {
		width: 1008px;
		margin: 0 auto;
		display: flex;
		flex-flow: nowrap;
		justify-content: space-around;
	}
	nav li {
		width: 100%;
		margin: 0 auto;
		box-sizing: border-box;
		border-bottom: 0;
		line-height: 1.4;
		background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='30px' height='30px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(84, 136, 188, 1)' d='M-0.000,-0.000 L30.000,-0.000 L30.000,30.000 L-0.000,30.000 L-0.000,-0.000 Z'/%3E%3C/svg%3E");
		background-position: 0 center;
		background-repeat: no-repeat;
		background-size: 1px 26%;
	}
	nav li:first-child {
		background: none;
	}
	nav li a {
		height: auto;
		padding: 20px 0;
	}
	nav li a:hover,
	nav li.current a {
		background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='30px' height='30px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(246, 154, 43, 1)' d='M-0.000,-0.000 L30.000,-0.000 L30.000,30.000 L-0.000,30.000 L-0.000,-0.000 Z'/%3E%3C/svg%3E");
		background-position: 0 bottom;
		background-repeat: no-repeat;
		background-size: 100% 10px;
	}
}
/*メインイメージ*/
.mainimg {
	width: 100%;
	background: url(../img/mainimage.jpg) center 50% no-repeat;
	background-size: cover;
}
.mainimg .mainimg_box {
	position: relative;
	height: 100px;/*トップページとそれ以外で高さを変えています。ここではindex以外のページのメインイメージの高さを設定しています。indexのメインイメージの高さはcss下部の個別の方に設定する。*/
}
.mainimg .mainimg_box .catch {
	position: absolute;
	width: 90%;
	height: auto;
	box-sizing: border-box;
	top: 50%;
	right: 50%;
	transform: translate(50%, -50%);
	display: none;
}
.mainimg .mainimg_box .catch img {
	width: 100%;
	height: auto;
}
@media print, screen and (min-width: 600px) {
	.mainimg .mainimg_box {
		width: 1008px;
		height: 200px;
		margin: 0 auto;
	}
	.mainimg .mainimg_box .catch {
		width: 60%;
	}
}
/*コンテンツ部分*/
/*ここではコンテンツ部分のベースレイアウトのみ決める。本文のスタイル設定は「コンテンツ部分の共通スタイル」の項で行う*/
.wrapper .content main {
	padding: 46px 16px 20px;
}
@media print, screen and (min-width: 600px) {
	.wrapper .content {
		width: 1008px;
		margin: 0 auto;
		display: flex;
		flex-flow: wrap;
		justify-content: space-between;
	}
	.wrapper .content main {
		order: 2;
		/*order:2;を右に置きたい要素に設定する*/
		width: 718px;
		box-sizing: border-box;
		background: #fff;
	}
	.wrapper .content .side {
		width: 280px;
		padding: 46px 0 0 0;
		box-sizing: border-box;
	}
	.wrapper .content .side ul {
		line-height: 1.4;
	}
	.wrapper .content .side li {
		margin: 0 0 16px;
	}
.wrapper .content .side li a {
	display: block;
	padding: 47px 0px 40px 156px;
	background: #fff;
	border: solid 1px #60a7db;
}
	.wrapper .content .side li,
	.wrapper .content .side li a,
	.wrapper .content .side .side_contact p {
		color: #60a7db;
	}
	.wrapper .content .side .side_contact ul li,
	.wrapper .content .side .side_contact ul li a {
		color: #555656;
	}
	.wrapper .content .side_contact {
		border: solid 1px #60a7db;
	}
	.wrapper .content .side_contact li a {
		padding: 0;
		border: none;
	}
	.wrapper .content .side_contact li {
		margin: 0 0 6px;
	}
	.wrapper .content .side p {
		padding: 10px 0px 8px 50px;
		border-bottom: solid 1px #60a7db;
		font-size: 2.2rem;
		background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='17px' height='24px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(110, 174, 222, 1)' d='M8.499,-0.000 C5.494,3.848 -0.000,9.348 -0.000,15.848 C-0.000,20.350 3.805,24.000 8.499,24.000 C13.194,24.000 17.000,20.350 17.000,15.848 C17.000,9.348 11.505,3.848 8.499,-0.000 Z'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-size: 5.4%;
		background-position: left 10% top 54%;
	}
	.wrapper .content .side .side_contact li {
		background-repeat: no-repeat;
		}
	.wrapper .content .side .side_contact li.side_add {
		padding: 30px 20px 0 50px;
		background-image: url(../img/side_ico_home.png);
		background-position: left 10% top 56%;
	}
	.wrapper .content .side .side_contact li.side_tel {
		padding: 0 20px 0 50px;
		background-image: url(../img/side_ico_tel.png);
		background-position: left 10% top 47%;
	}
	.wrapper .content .side .side_contact li.side_fax {
		padding: 0 20px 0 50px;
		background-image: url(../img/side_ico_fax.png);
		background-position: left 10% top 47%;
	}
	.wrapper .content .side .side_contact li.side_mail {
		padding: 0 20px 30px 50px;
		background-image: url(../img/side_ico_mail.png);
		background-position: left 10% top 10%;
	}
	.wrapper .content .side li a{
		background-position: left, right 48% top 54%;
		background-repeat: no-repeat;
		}
	.wrapper .content .side li a:hover {
		opacity: 0.6;
	}
	.wrapper .content .side li.sidebox_index a {
		background-image: url(../img/bg_sidenav01.jpg),url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16px' height='15px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(96, 167, 219, 1)' d='M8.656,14.999 L8.023,14.321 L14.549,7.578 L8.000,0.644 L8.656,-0.001 L15.999,7.499 L8.656,14.999 ZM0.023,14.321 L6.549,7.578 L-0.000,0.644 L0.656,-0.001 L7.999,7.499 L0.656,14.999 L0.023,14.321 Z'/%3E%3C/svg%3E");
	}
	.wrapper .content .side li.sidebox_work a {
		background-image: url(../img/bg_sidenav02.jpg),url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16px' height='15px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(96, 167, 219, 1)' d='M8.656,14.999 L8.023,14.321 L14.549,7.578 L8.000,0.644 L8.656,-0.001 L15.999,7.499 L8.656,14.999 ZM0.023,14.321 L6.549,7.578 L-0.000,0.644 L0.656,-0.001 L7.999,7.499 L0.656,14.999 L0.023,14.321 Z'/%3E%3C/svg%3E");
	}
	.wrapper .content .side li.sidebox_company a {
		background-image: url(../img/bg_sidenav04.jpg),url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16px' height='15px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(96, 167, 219, 1)' d='M8.656,14.999 L8.023,14.321 L14.549,7.578 L8.000,0.644 L8.656,-0.001 L15.999,7.499 L8.656,14.999 ZM0.023,14.321 L6.549,7.578 L-0.000,0.644 L0.656,-0.001 L7.999,7.499 L0.656,14.999 L0.023,14.321 Z'/%3E%3C/svg%3E");
	}
	.wrapper .content .side li.sidebox_recruit a {
		background-image: url(../img/bg_sidenav05.jpg),url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16px' height='15px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(96, 167, 219, 1)' d='M8.656,14.999 L8.023,14.321 L14.549,7.578 L8.000,0.644 L8.656,-0.001 L15.999,7.499 L8.656,14.999 ZM0.023,14.321 L6.549,7.578 L-0.000,0.644 L0.656,-0.001 L7.999,7.499 L0.656,14.999 L0.023,14.321 Z'/%3E%3C/svg%3E");
	}
	.wrapper .content .side li.sidebox_contact a {
		background-image: url(../img/bg_sidenav03.jpg),url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16px' height='15px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(96, 167, 219, 1)' d='M8.656,14.999 L8.023,14.321 L14.549,7.578 L8.000,0.644 L8.656,-0.001 L15.999,7.499 L8.656,14.999 ZM0.023,14.321 L6.549,7.578 L-0.000,0.644 L0.656,-0.001 L7.999,7.499 L0.656,14.999 L0.023,14.321 Z'/%3E%3C/svg%3E");
	}
}
/*フッター*/
footer {
	background:linear-gradient(#86bce4,#fff 50%);
	background: -moz-linear-gradient(#86bce4,#fff 50%);
	background: -webkit-linear-gradient(#86bce4,#fff 50%);
}
footer a {
	color: #555656;
}
footer .ftr_box {
	padding: 16px 16px;
}
footer .ftr_box .logo {
	width: 80%;
	margin: 0px 0 20px;
}
footer .ftr_box .logo img {
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
}
footer .ftr_box address {
	margin: 0 0 20px;
	font-style: normal;
	font-size: 1.4rem;
}
footer .footer_map p {
	text-align: left;
	padding-left: 20px;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='13px' height='12px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(86, 86, 86, 1)' d='M7.033,12.000 L6.519,11.457 L11.821,6.062 L6.500,0.515 L7.033,-0.000 L12.999,6.000 L7.033,12.000 ZM0.019,11.457 L5.321,6.062 L-0.000,0.515 L0.533,-0.000 L6.499,6.000 L0.533,12.000 L0.019,11.457 Z'/%3E%3C/svg%3E");
	background-position: left 1% bottom 52%;
	background-repeat: no-repeat;
}
footer .footer_map iframe {
	display: block;
	width: 100%;
	max-width: 450px;
	height: 190px;
	margin: auto;
}
footer .copy {
	display: block;
	text-align: center;
	padding-bottom: 20px;
	margin :0 auto;
	font-weight: normal;
}
@media print, screen and (min-width: 600px) {
	footer {
	background:linear-gradient(#86bce4,#fff 30%);
	background: -moz-linear-gradient(#86bce4,#fff 30%);
	background: -webkit-linear-gradient(#86bce4 ,#fff 30%);
}
	footer .ftr_nav {
		display: block;
		width: 1008px;
		padding: 16px 0;
		margin: 0 auto;
	}
	footer .ftr_nav ul {
		width: 100%;
		font-size: 0;
		text-align: center;
	}
	footer .ftr_nav li {
		display: inline-block;
		padding: 0 16px;
	}
	footer .ftr_box {
		width: 1008px;
		padding: 60px 0 60px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
	footer .ftr_box .logo {
		width: 66%;
		margin: 0 0 30px;
	}
	footer .ftr_box .footer_add {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='30px' height='30px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(153, 194, 236, 1)' d='M-0.000,-0.000 L30.000,-0.000 L30.000,30.000 L-0.000,30.000 L-0.000,-0.000 Z'/%3E%3C/svg%3E");
	background-position: right 15% center;
	background-repeat: no-repeat;
	background-size: 1px 100%;
	}
	footer .ftr_box address {
	font-size: 1.6rem;
}
	footer .footer_map {
		width: 50%;
		text-align: left;
	}
		footer .footer_map p {
		text-align: left;
		padding-bottom: 4px;
		padding-left: 36px;
		background-position: left 4% bottom 60%;
		background-repeat: no-repeat;
}
	footer .footer_map iframe {
		width: 100%;
		max-width: 420px;
		margin: auto;
	}
	footer .ftr_box .copy {
		width: 100%;
		text-align: center;
	}
}
/*--------------------------------------------------
	コンテンツ部分の共通スタイル
--------------------------------------------------*/
section .sec_content p {
	margin: 0 0 16px;
}
section .sec_content h2,
section .sec_content h3 {
	font-family: "游明朝","serif","ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝",serif;
	font-weight: normal;
}
section .sec_content h2{
	position: relative;
	padding: 10px 10px 0px 28px;
	margin: 0 0 10px;
	font-size: 3.2rem;
	line-height: 1;
	border-bottom: double 4px #5f9fce;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='17px' height='24px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(110, 174, 222, 1)' d='M8.499,-0.000 C5.494,3.848 -0.000,9.348 -0.000,15.848 C-0.000,20.350 3.805,24.000 8.499,24.000 C13.194,24.000 17.000,20.350 17.000,15.848 C17.000,9.348 11.505,3.848 8.499,-0.000 Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left 0% bottom 18%;
	background-size: 20px;
}
section .sec_content h2 span {
	position: absolute;
	right: 0;
	top: 30px;
	font-size: 1.2rem;
	color: #60a7db;
}
section .sec_content h3 {
	position: relative;
	margin: 0 0 16px;
	font-size: 2.4rem;
	line-height: 1;
	border-bottom: solid 1px #5f9fce;
	padding: 4px 10px;
	background: transparent;
	border-left: solid 8px #5f9fce;
}
section .sec_content h3 span {
	position: absolute;
	right: 0;
	top: 18px;
	font-size: 1.2rem;
	color: #60a7db;
}
section .sec_content table {
	width: 100%;
	text-align: left;
}
section .sec_content table th,
section .sec_content table td {
	padding: 10px;
	border: solid 1px #60a7db;
}
section .sec_content table tr th {
	vertical-align: top;
}
section .sec_content form table {
	margin-bottom: 10px;
}
section .sec_content form table tbody,
section .sec_content form table tr {
	display: block;
	width: 100%;
}
section .sec_content form table select {
	font-size: 16px;
	padding: 12px 15px;
}
section .sec_content form table th,
section .sec_content form table td {
	width: 100%;
	box-sizing: border-box;
	display: block;
	border-bottom: none;
}
section .sec_content form table th {
	text-align: left;
	font-size: 2rem;
	background-color: #e8eff4;
	position: relative;
}
section .sec_content form table tr td ul {
	display: flex;
	flex-wrap: wrap;
}
section .sec_content form table tr td ul li {
	margin-right: 10%;
}
section .sec_content form table input[type="text"],
section .sec_content form table input[type="email"],
section .sec_content form table input[type="zipcode"],
section .sec_content form table input[type="addr"],
section .sec_content form table input[type="tel"],
section .sec_content form table input[type="occupation"],
section .sec_content form table textarea {
	width: 100%;
	display: block;
	padding: 12px 15px;
	box-sizing: border-box;
}
section .sec_content form table input[type="text"]:focus,
section .sec_content form table input[type="email"]:focus,
section .sec_content form table input[type="zipcode"]:focus,
section .sec_content form table input[type="addr"]:focus,
section .sec_content form table input[type="tel"]:focus,
section .sec_content form table textarea:focus {
	background: #e9f5fb;
}
section .sec_content form table input::placeholder {
	color:#ccc
}
section .sec_content form table tr:last-of-type {
	border-bottom: solid 1px #5f9fce;
}
section .sec_content form table th span.require {
	padding: 1px 6px;
	background-color: #60a7db;
	color: #fff;
	font-weight: bold;
	position: absolute;
	right: 20px;
}
section .sec_content form input.btn-primary {
	padding: 20px;
	width: 100%;
	color: #fff;
	background-color: #60a7db;
	border: none;
	font-size: 2.2rem;
}
section .sec_content form input.btn-primary:hover {
	opacity: 0.6;
}
section .sec_content form input.btn-secondary {
	padding: 20px;
	margin-bottom: 10px ;
	width: 100%;
	color: #fff;
	background-color: #f69a2b;
	border: none;
	font-size: 2.2rem;
}
section .sec_content form input.btn-secondary:hover {
	opacity: 0.6;
}
section .sec_content p.privacy_bottom a {
	color: #60a7db;
}
p#error_message{
	font-size: 2rem;
}
p#error_message,
p.alert-danger {
	font-weight: bold;
	color: #e71f19;
}
p.pagetop {
	text-align: right;
}
p.pagetop a {
	padding:5px 5px 5px 34px;
	margin:0 auto;
	color: #60a7db;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='17px' height='24px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(110, 174, 222, 1)' d='M8.499,-0.000 C5.494,3.848 -0.000,9.348 -0.000,15.848 C-0.000,20.350 3.805,24.000 8.499,24.000 C13.194,24.000 17.000,20.350 17.000,15.848 C17.000,9.348 11.505,3.848 8.499,-0.000 Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left 10% top 45%;
	background-size: 8%;
	}
@media print, screen and (min-width: 600px) {
	section h2 {
		padding: 10px 16px 0px;
	}
	section h3 {
	}
	section .sec_content form table,
	section .sec_content form table tr{
		display: flex;
		flex-wrap: nowrap;
	}
	section .sec_content form table th {
		width: 40%;
		background-color: transparent;
		font-size: 1.6rem;
		font-weight: normal;
		vertical-align: middle;
	}
	section .sec_content form table td {
		width: 60%;
		border-left: none;
	}
	section .sec_content form input.btn-primary {
		display: block;
		text-align: center;
		margin: 0 20% 3%;
		width: 60%;
	}
	section .sec_content form input.btn-secondary {
		display: block;
		text-align: center;
		margin: 0 20% 1%;
		width: 60%;
	}
}
/*--------------------------------------------------
	サイト全体で使う共通スタイル
--------------------------------------------------*/
/*floatした子要素を内包する親要素にclass="clear"を
付与することでfloatを解除します。*/
/*.clear::after {
	content: " ";
	display: block;
	clear: both;
}*/
@media print, screen and (min-width: 600px) {
}
/*--------------------------------------------------
	ページ個別のスタイル
--------------------------------------------------*/
/*-------------------------------------------index*/
#index .mainimg .mainimg_box {
	height: 238px;/*indexのメインイメージの高さ*/
}
#index .mainimg .mainimg_box .catch {
	display: block;
}
#index .s1 .sec_content .about {
	position: relative;
	z-index: 0;
}
#index .sec_content .about {
	background-color: #9abfe9;
	color: #fff;
}
#index .sec_content .about_group {
	padding-bottom: 16px;
}
#index .sec_content .about_group h2,
#index .sec_content .about_group p {
		margin:0 4% 0 4%;
}
#index .sec_content .about_group h2 {
	margin-bottom: 16px;
	border-bottom: solid 1px #fff;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='17px' height='24px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(250, 250, 250, 1)' d='M8.499,-0.000 C5.494,3.848 -0.000,9.348 -0.000,15.848 C-0.000,20.350 3.805,24.000 8.499,24.000 C13.194,24.000 17.000,20.350 17.000,15.848 C17.000,9.348 11.505,3.848 8.499,-0.000 Z'/%3E%3C/svg%3E");
}
#index .sec_content .about_group h2 span {
	position: absolute;
	right: 0;
	top: 30px;
	font-size: 1.2rem;
	color: #fff;
}
#index .sec_content h3 {
	position: relative;
	margin: 0 0 16px;
	font-size: 2.4rem;
	line-height: 1;
	border-bottom: solid 1px #5f9fce;
	padding: 0;
	border-left: 0;
}
#index .sec_content h3 span {
	position: absolute;
	right: 0;
	top: 12px;
	font-size: 1.2rem;
	color: #60a7db;
}
#index .s1 img,
#index .s2 img {
	width: 100%;
}
#index .s2 img {
	margin-bottom: 10px;
}
#index .s1 .fb-container {
	width: 100%;
}
#index .s1 .sec_content,
#index .s2 .sec_content div {
	margin-bottom: 30px;
}
#index .s2 .sec_content div a {
	display: block;
	padding: 20px 60px 20px 68px;
	border: solid 1px #60a7db;
	font-size: 1.6rem;
	font-weight: bold;
	color: #60a7db;
	text-align: center;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16px' height='15px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(96, 167, 219, 1)' d='M8.656,14.999 L8.023,14.321 L14.549,7.578 L8.000,0.644 L8.656,-0.001 L15.999,7.499 L8.656,14.999 ZM0.023,14.321 L6.549,7.578 L-0.000,0.644 L0.656,-0.001 L7.999,7.499 L0.656,14.999 L0.023,14.321 Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left 30% bottom 50%;
}
#index .s2 .sec_content a:hover {
	padding: 20px 60px 20px 68px;
	font-size: 1.6rem;
	border: solid 1px #60a7db;
	color: #fff;
	background: rgba(96, 167, 219, 1);
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16px' height='15px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(255, 255, 255, 1)' d='M8.656,14.999 L8.023,14.321 L14.549,7.578 L8.000,0.644 L8.656,-0.001 L15.999,7.499 L8.656,14.999 ZM0.023,14.321 L6.549,7.578 L-0.000,0.644 L0.656,-0.001 L7.999,7.499 L0.656,14.999 L0.023,14.321 Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left 30% bottom 50%;
}
@media print, screen and (min-width: 600px) {
	#index .wrapper .content main {
		width: 1008px;
		box-sizing: border-box;
		background: #fff;
	}
	#index .mainimg .mainimg_box {
		height: 500px;/*indexのメインイメージの高さ(PC用)*/
	}
	#index .wrapper .content main {
	padding: 36px 36px 20px;
	}
	#index .sec_content {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#index .s1 .sec_content ,
	#index .s2 .sec_content div {
		position: relative;
		width: 100%;
	}
	#index .s1 .sec_content {
		position: relative;
		width: 100%;
		max-width: 100%;
	}
	#index .s1 .sec_content img {
		min-width: 100%;
		position: relative;
		z-index: 0;
	}
		#index .s1 .sec_content .about_group {
		max-width: 400px;
		position: absolute;
		top: 18%;
		left: 5%;
	}
		#index .s1 .sec_content .about_group h2 {
		width: 360px;
		margin-left: 0;
		z-index: 3;
}
	#index .s1 .sec_content .about_group p {
		width: 400px;
		margin: 0;
		font-size: 1.8rem;
		line-height: 2;
	}
	#index .s2 .sec_content div {
		margin-bottom: 90px;
		max-width: 450px;
	}
	#index .s2 .sec_content div a,
	#index .s2 .sec_content a:hover {
		position: absolute;
		width: 50%;
		right: 0%;
		padding: 10px 0px 10px 20px;
		text-align: center;
		background-position: left 24% bottom 50%;
	}
}
/*-----------------------------------------work*/
#work main a {
	color: #555656;
}
#work .s1 .sec_content .machi
#work .s1 .sec_content .ie {
	margin-top: 20px;
}
#work .s1 .sec_content dl.machi dd,
#work .s1 .sec_content  dl.ie dd {
	padding-left: 20px;
	margin: 0 0 20px 10px;
	font-weight: bold;
	font-size: 1.4rem;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='9px' height='16px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(110, 174, 222, 1)' d='M0.331,0.894 L0.331,15.394 L8.890,8.144 L0.331,0.894 Z'/%3E%3C/svg%3E");
	background-position: left top 3px;
	background-repeat: no-repeat;
	float: left;
}
#work .s1 .sec_content dl{
	margin-bottom: 10px;
}
#work .s1 .sec_content dl,
#work .s2 .sec_content {
	clear: both;
}
#work .s2 .sec_content dl {
	font-size: 0;
}
#work .s2 .sec_content dt,
#work .s2 .sec_content dd {
	font-size: 1.6rem;
}
#work .s1 .sec_content dl.works dd{
	margin-left: 30px;
	display: list-item;
	list-style: outside;
	font-size: 1.3rem;
}
#work .s1 .sec_content dl.machi dd ul li,
#work .s1 .sec_content dl.ie dd ul li {
	font-weight: normal;
	font-size: 1.3rem;
	list-style-type: disc
}
#work .s1 dt a {
	font-size: 2.4rem;
	padding-left: 20px;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16px' height='15px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(86, 86, 86, 1)' d='M8.656,14.999 L8.023,14.321 L14.549,7.578 L8.000,0.644 L8.656,-0.001 L15.999,7.499 L8.656,14.999 ZM0.023,14.321 L6.549,7.578 L-0.000,0.644 L0.656,-0.001 L7.999,7.499 L0.656,14.999 L0.023,14.321 Z'/%3E%3C/svg%3E");
	background-position: left 1% bottom 52%;
	background-repeat: no-repeat;
}
#work .sec_content {
	margin-bottom: 60px;
}
#work .s2 .sec_content dd {
	max-width: 195px;
	display: inline-block;
	text-align: center;
	margin-right: 10px;
}
#work .s2 .sec_content dd a img {
	width: 100%;
}
#work .s2 .sec_content dl {
	margin-bottom: 20px;
}
#work .s2 .sec_content dl dt,
#work .s2 .sec_content dl dt {
	padding-left: 20px;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='9px' height='16px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(110, 174, 222, 1)' d='M0.331,0.894 L0.331,15.394 L8.890,8.144 L0.331,0.894 Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left top 4px;
}
#work .s3 .sec_content h4 img{
		width: 100%;
		margin-bottom: 10px;
		-webkit-backface-visibility: hidden;
}
#work .s3 .sec_content dl {
	margin-bottom: 20px;
}
#work .s3 .sec_content dl dt{
	display: list-item;
	list-style: square;
	margin: 0 0 0 20px;
	font-weight: bold;
}
#work .s3 .sec_content dd {
	margin-bottom: 8px;
}
#work .side {
	display: none;
}
#work p.pagetop a {
	color: #60a7db;
	}
@media print, screen and (min-width: 600px) {
	#work .side {
		display: block;
	}
	#work .s1 .sec_content div,
	#work .s1 .sec_content dl {
		display: inline-block;
		vertical-align: top;
		margin-right: 12%;
	}
	#work .s1 .sec_content dl:last-of-type{
		margin-right: 0%;
	}
	#work .s1 .sec_content dl.works dd{
		margin-left: 20px;
		font-size: 1.6rem;
	}
	#work .s1 .sec_content dl.machi dd,
	#work .s1 .sec_content dl.ie dd {
		float: none;
		margin: 0px 20px 20px 0;
		font-size: 1.6rem;
	}
	#work .s1 .sec_content dl.machi dd ul li,
	#work .s1 .sec_content dl.ie dd ul li {
		font-size: 1.6rem;
	}
	#work .s2 .sec_content dd {
		margin: 0 4% 0 0;
	}
	#work .s3 .sec_content dd{
		margin-bottom: 8px;
	}
}
/*-----------------------------------------recruit*/
#recruit .side {
	display: none;
}
#recruit .sec_content
{
	margin-bottom: 40px;
}
#recruit .s1 .sec_content img {
	max-width: 100%;
	-webkit-backface-visibility: hidden;
}
#recruit .s2 .sec_content table p {
	margin: 0;
}
#recruit .s2 .sec_content table tr th:first-of-type {
	width: 30%;
}
#recruit .s2 .sec_content table ul li {
	list-style: disc;
	margin-left: 20px;
}
#recruit .s3 .sec_content ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#recruit .s3 .sec_content ul li {
	padding: 5% 5% 5% 15%;
	margin-bottom: 10px;
	width: 100%;
	height: auto;
	border:solid 1px #000000;
	font-size: 2.2rem;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	background-color: #c0e2fb;
	background-image: url(../img/recruit/kojiico.png);
	background-repeat: no-repeat;
	background-position: left 2% top 50%;
	background-size: 14%;
}
#recruit .s4 .sec_content .voice {
	width: 100%;
	margin: 0 0 10px;
}
#recruit .s4 .sec_content .voice input {
	display: none;
}
#recruit .s4 .sec_content .voice label {
	display: flex;
	border: solid 1px #000;
	cursor :pointer;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='35px' height='38px'%3E%3Cpath fill-rule='evenodd'  fill='rgba(86, 86, 86, 1)' d='M0.000,1.533 L1.583,0.054 L17.318,15.306 L33.496,-0.001 L35.001,1.533 L17.501,18.694 L0.000,1.533 ZM17.318,34.002 L33.496,18.696 L35.001,20.229 L17.501,37.391 L0.000,20.229 L1.583,18.751 L17.318,34.002 Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 6%;
	background-position: right 40% top 80%;
}
#recruit .s4 .sec_content .voice label .voice_title {
	width: 100%;
	position: relative;
	font-weight: bold;
}
#recruit .s4 .sec_content .voice label .voice_title img {
}
#recruit .s4 .sec_content .voice label .voice_title dl {
	position: absolute;
	left: 44%;
	top: 15%;
}
#recruit .s4 .sec_content .voice label .voice_title dt {
	border-bottom: solid 1px #555656;
	font-size: 1.2rem;
}
#recruit .s4 .sec_content .voice label .voice_title dd {
	font-size: 1.2rem;
}
#recruit .s4 .sec_content .voice label:hover{
	opacity: 0.5;
}
#recruit .s4 .sec_content .voice dl dt,
#recruit .s4 .sec_content .voice dl dt {
	font-weight: bold;
}
#recruit .s4 .sec_content .voice dl dd,
#recruit .s4 .sec_content .voice dl dd {
	margin-bottom: 10px;
}
#recruit .s4 .sec_content .voice .staff_01_hidden,
#recruit .s4 .sec_content .voice .staff_02_hidden {
	height: 0;
	padding: 0;
	border: solid 1px #000;
	border-top: none;
	overflow: hidden;
	opacity: 0;
	transition: 0.8s;
}
#recruit .s4 .sec_content .voice .staff_01_hidden dl ,
#recruit .s4 .sec_content .voice .staff_02_hidden dl {
	padding: 0 10px;
}
#recruit .s4 .sec_content .voice input:checked ~ .staff_01_hidden,
#recruit .s4 .sec_content .voice input:checked ~ .staff_02_hidden {
	padding: 10px 0;
	height: auto;
	opacity: 1;
}
@media print, screen and (min-width: 600px) {
	#recruit .side {
		display: block;
	}
	#recruit .s3 .sec_content ul li {
		padding: 20px 20px 20px 100px ;
		width: 340px;
		background-position: left 6% top 50%;
		background-size: 20%;
			font-size: 2.1rem;
	}
	#recruit .s4 .sec_content .voice label .voice_title dl {
		position: absolute;
		left: 30%;
		top: 20%;
	}
	#recruit .s4 .sec_content .voice label .voice_title dt,
	#recruit .s4 .sec_content .voice label .voice_title dd {
		font-weight: normal;
		}
	#recruit .s4 .sec_content .voice label .voice_title dt {
		border-bottom: solid 1px #555656;
		font-size: 2.4rem;
	}
	#recruit .s4 .sec_content .voice label .voice_title dd {
		font-size: 1.8rem;
	}
	#recruit .s4 .sec_content .voice label {
		background-size: 5%;
		background-repeat: no-repeat;
		background-position: right 7% top 50%;
	}
}
/*-----------------------------------------company*/
#company .side {
	display: none;
}
#company .sec_content {
	margin-bottom: 40px;
}
#company .s2 .sec_content .gaiyo_map iframe{
	width: 100%;
	height: auto;
	margin: auto;
}
#company .s2 .sec_content table tr th:first-of-type {
	width: 30%;
}
#company .s2 .sec_content tr td dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
#company .s2 .sec_content tr td dl dt {
	margin-right: 10px;
	width: 100%;
}
#company .s2 .sec_content tr td dl dd::before{
	content: "…"
}
@media print, screen and (min-width: 600px) {
	#company .side {
		display: block;
	}
	#company .s2 .sec_content tr td dl.shikaku dt,
	#company .s2 .sec_content tr td dl.yakuin dt {
		width: 50%;
	}
	#company .s2 .sec_content tr td dl dd::before{
		content: none;
	}
}
/*-----------------------------------------contact*/
#contact .side {
	display: none;
}
#contact .sec_content {
	margin-bottom: 40px;
}
#contact .s2 .sec_content a {
	display: block;
	text-align: center;
}
#contact .s2 .sec_content img{
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	-webkit-backface-visibility: hidden;
}
@media print, screen and (min-width: 600px) {
	#contact .side {
		display: block;
	}
	#contact .s2 .sec_content img{
		max-width: 80%;
		-webkit-backface-visibility: hidden;
}
	}
}
/*-----------------------------------------privacy*/
#privacy .side {
	display: none;
}
#privacy .sec_content .under p {
	margin-bottom: 0;
}
#privacy .sec_content h3 {
	margin-top: 40px;
}
#privacy .sec_content ul:last-of-type {
	margin-bottom: 40px;
}
@media print, screen and (min-width: 600px) {
	#privacy .side {
		display: block;
	}
}