
html, body {
	height: 100%;
}
body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}
img {
	width: 100%;
}
a {
	text-decoration: none;
	color: #000;
}
a:hover {
	opacity: 0.7;
}
p {
	line-height: 1.8; font-size: 14px;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
    -webkit-appearance: none;
}



/*==================================================================================
ヘッダー
==================================================================================*/
header {
	width: 100%;
	padding: 20px 0 0!important;
	z-index: 9999;
}
.top {
	width: 100%;
	height: calc(100% - 60px);
	padding: 30px 0!important;
	background: url(../img/top.jpg) center center / cover no-repeat;
	color: #fff;
	position: relative;
}
.comp_name {
	font-size: 20px;
	font-weight: bold;
	color: #06315b;
}
.comp_name span {
	font-size: 30px;
	display: inline-block;
	margin-left: 10px;
}
.comp_info {
	font-size: 34px;
	font-weight: bold;
	color: #06315b;
	line-height: 1;
}
.comp_info span {
	font-size: 20px;
	font-weight: normal;
}
.comp_info a {
	color: #06315b;
}
.top .comp_name, .top .comp_info, .top .comp_info a {
	color: #fff;
}
.top .copy {
	width: 100%;
	font-size: 42px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-shadow: 0 0 5px #555;
	letter-spacing: 2px;
	margin-top: 180px;
}

.head_menu {
	width: 100%;
	background: #06315b;
	margin-top: 10px;
}
.head_menu .row {
	flex-wrap: nowrap;
}
.btn_nav {
	display: block;
	width: calc(100% / 6);
	padding: 12px 0 10px;
	font-size: 16px;
	color: #fff;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 2px;
}
.btn_nav span {
	font-size: 10px;
	color: #ff7900;
}
.top .head_menu {
	background: rgba(13,77,154,0.70);
	position: absolute;
	bottom: 0;
}
.top .btn_nav {
	padding: 30px 0;
	line-height: 1.4;
}



/* スマホ版 メニュー -----------------------*/
nav.globalMenuSp {
    position: fixed;
    z-index: 8888!important;
    top: 0;
    left: 0;
    background: #fff;
    color: #000;
    text-align: center;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
	list-style-type: none;
}
nav.globalMenuSp ul {
    background: #f1f1f1;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}
nav.globalMenuSp ul li {
    padding: 0;
    width: 100%;
    border-bottom: 1px dotted #ccc;
}

/* 最後はラインを描かない */
nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
    /*border-bottom: none;*/
}
nav.globalMenuSp ul li a {
    display: block;
    color: #06315b;
    padding: 1em 0;
	text-decoration: none;
}
nav.globalMenuSp ul li a p{
    display: block;
    color: #06315b;

}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    transform: translateY(0%);
}
.navToggle {
    display: block;
    position: fixed;    /* bodyに対しての絶対位置指定 */
    right: 15px;
    top: 15px;
    width: 52px;
    height: 52px;
    cursor: pointer;
    z-index: 9999!important;
    background: #06315b;
    text-align: center;
}
.navToggle span {
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 26px;
    border-bottom: solid 3px #FFF;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 13px;
}
.navToggle span:nth-child(1) {
    top: 9px;
}
.navToggle span:nth-child(2) {
    top: 18px;
}
.navToggle span:nth-child(3) {
    top: 27px;
}
.navToggle span:nth-child(4) {
    border: none;
    color: #FFF;
    font-size: 10px;
    font-weight: bold;
    top: 36px;
	left: 10px;
}

/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
    top: 18px;
    left: 13px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*==================================================================================
メイン
==================================================================================*/
.container {
	max-width: 1200px;
	margin: auto;
}
.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.col2 {
	width: 48%;
}

h1 {
	font-size: 30px;
	font-weight: normal;
	letter-spacing: 2px;
	border-left: 12px #0d4d9a solid!important;
	margin: 60px 0!important;
	position: relative!important;
}
h1::before {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	border-bottom: 1px #9a9a9a solid;
	position: absolute;
	top: 50%;
	margin-top: -1px;
	z-index: -1;
}
h1 span {
	display: inline-block;
	background: #fff;
	padding: 0 15px;
}

.mb_100 {
	margin-bottom: 100px;
}


/* index.html */
.news {
	font-size: 14px;
	background: #f1f1f1;
	padding: 10px 20px;
	margin: 0 0 10px;
}
.news span {
	font-size: 12px;
	font-weight: bold;
	color: #ff7900;
	display: inline-block;
	margin-right: 10px;
}

.top_service {
	margin: 100px 0;
}
.top_service a {
	display: block;
	width: calc(100% / 3);
	height: 300px;
	font-size: 38px;
	color: #fff;
	text-align: center;
	letter-spacing: 5px;
	padding-top: 80px;
	position: relative;
}
.top_service a span {
	font-size: 16px;
	letter-spacing: 0;
}
.top_service a.service01 {
	background: url(../img/top_service01.jpg) center center / cover no-repeat;
}
.top_service a.service02 {
	background: url(../img/top_service02.jpg) center center / cover no-repeat;
}
.top_service a.service03 {
	background: url(../img/top_service03.jpg) center center / cover no-repeat;
}
.top_service a::before {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	background: url(../img/icon_arrow.png) center center / 40px no-repeat;
	position: absolute;
	bottom: 80px;
	left: 50%;
	margin-left: -20px;
}

.btn_machine {
	display: block;
	width: calc(100% - 90px);
	padding: 80px 40px;
	border: 5px #06315b solid;
	font-size: 38px;
	color: #06315b;
	line-height: 1.6;
	letter-spacing: 10px;
	background: url(../img/top_machine.jpg) right 20px top 20px / 480px no-repeat;
	margin-bottom: 100px;
}
.btn_machine span {
	display: inline-block;
	background: rgba(255,255,255,0.70);
}

.btn_company {
	background: #06315b;
}
.btn_company p {
	font-size: 24px;
	color: #fff;
	text-align: center;
	line-height: 1;
	letter-spacing: 2px;
	padding: 15px;
}
.btn_company span {
	font-size: 14px;
	color: #ff7900;
}

.top_recruit {
	width: 100%;
	height: 400px;
	background: url(../img/top_recruit.jpg) center center / cover no-repeat;
	margin: 100px 0;
}
.top_recruit .container {
	max-width: calc(1200px - 60px);
	padding: 30px;
}
.top_recruit .ttl {
	display: inline-block;
	font-size: 24px;
	color: #fff;
	text-align: center;
	line-height: 1;
	letter-spacing: 2px;
}
.top_recruit .ttl span {
	font-size: 14px;
	color: #ff7900;
}
.top_recruit .recruit_copy {
	font-size: 38px;
	color: #fff;
	text-align: center;
	letter-spacing: 10px;
	margin: 40px 0 30px;
}
.btn_recruit {
	display: block;
	width: 200px;
	margin: auto;
	border: 1px #fff solid;
	font-size: 18px;
	color: #fff;
	padding: 15px 25px;
	letter-spacing: 2px;
	background: url(../img/icon_arrow.png) right 25px center / 25px no-repeat;
}

.contact_txt {
	font-size: 18px;
	margin-bottom: 20px;
}
.top_contact {
	background: #f1f1f1;
	padding: 30px 0;
	text-align: center;
}
.icon_tel, .icon_mail {
	display: inline-block;
	font-size: 20px;
	padding-left: 30px;
	margin-bottom: 20px!important;
	position: relative;
}
.icon_tel::before, .icon_mail::before {
	content: "";
	width: 20px;
	height: 20px;
	position: absolute;
	left: 0;
}
.icon_tel::before {
	background: url(../img/icon_tel.png) center center / 20px no-repeat;
	top: -2px;
}
.icon_mail::before {
	background: url(../img/icon_mail.png) center center / 20px no-repeat;
}

.top_contact .tel {
	font-size: 42px;
	font-weight: bold;
	color: #0762ac;
	line-height: 1;
	letter-spacing: 1px;
}
.top_contact .tel a {
	color: #0762ac;
}
.top_contact .tel span {
	display: block;
	font-size: 14px;
	font-weight: normal;
	color: #000;
	letter-spacing: 0;
	margin-top: 10px;
}

.btn_contact {
	display: block;
	width: 320px;
	margin: auto;
	background: #0762ac;
	font-size: 24px;
	font-weight: bold;
	color: #fff;
	padding: 15px 0;
	letter-spacing: 2px;
}



.company_top, .service_top, .case_top, .machine_top, .recruit_top, .other_top {
	width: 100%;
	height: 180px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 100px;
}
.company_top {
	background: url(../img/company_top.png) center center / cover no-repeat;
	margin-bottom: 40px;
}
.service_top {
	background: url(../img/company_top.png) center center / cover no-repeat;
	margin-bottom: 40px;
}
.case_top {
	background: url(../img/company_top.png) center center / cover no-repeat;
	margin-bottom: 40px;
}
.machine_top {
	background: url(../img/company_top.png) center center / cover no-repeat;
}
.recruit_top {
	background: url(../img/company_top.png) center center / cover no-repeat;
}
.other_top {
	margin-bottom: 0;
}
.company_top p, .service_top p, .case_top p, .machine_top p, .recruit_top p, .other_top p {
	font-size: 30px;
	font-weight: bold;
	color: #fff;
	letter-spacing: 8px;
}
.other_top p {
	color: #06315b;
}


/* company.html -----------------------------------------------------------------*/
.comp_message {
	width: 68%;
	position: relative;
}
.comp_message .name {
	text-align: right;
	position: absolute;
	bottom: 0;
	right: 0;
}
.comp_message .name span {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 2px;
	display: inline-block;
	margin-left: 10px;
}
.ishijima_p {
	width: 25%;
}

table.company {
	width: 100%;
	max-width: 960px;
	margin: 0 auto 100px;
}
table.company tr {
	border-top: 1px #e1e1e1 solid;
	border-bottom: 1px #e1e1e1 solid;
}
table.company tr:nth-child(odd) {
	background: #f1f1f1;
}
table.company th {
	width: 200px;
	color: #06315b;
}
table.company td {
	padding: 10px 0;
	line-height: 2;
}
.fudou {
	text-align: right;
	padding-right: 10px;
	margin-top: 40px;
}

.base {
	margin-top: 10px;
}
.base span {
	font-size: 20px;
	font-weight: bold;
}

.map {
	color: blue;
}


/* service.html -----------------------------------------------------------------*/
.service {
	position: relative;
}
.btn_detail {
	display: block;
	border: 2px #06315b solid;
	font-size: 18px;
	color: #06315b;
	text-align: center;
	padding: 15px 70px 13px 15px;
	background: url(../img/icon_arrow2.png) right 15px center / 25px no-repeat;
	position: absolute;
	bottom: 2px;
	right: 0;
}


/* machine.html -----------------------------------------------------------------*/
.machine_p {
	width: calc(22% - 30px);
	padding: 15px;
	border: 2px #666666 solid;
	text-align: center;
}
.machine_p img {
	width: 90%;
	margin: auto;
}
.machine_name {
	margin: 10px 0;
}
.machine_name span {
	font-size: 20px;
}

.attend {
	display: none;
}
table.machine {
	width: 100%;
	margin: 40px 0 100px;
}
table.machine tr:nth-child(odd) {
	background: #f1f1f1;
}
table.machine tr:last-child {
	border-bottom: 1px #e1e1e1 solid;
}
table.machine th {
	background: #cbcbcb;
	border-right: 1px #fff solid;
	padding: 12px 10px 10px;
	line-height: 1.2;
}
table.machine th:last-of-type {
	border-right: none;
}
table.machine th span {
	font-size: 14px;
	font-weight: normal;
}
table.machine td {
	border-right: 1px #e1e1e1 solid;
	padding: 20px 40px 18px;
}
table.machine td:last-of-type {
	border-right: none;
	text-align: center;
}


/* case.html -----------------------------------------------------------------*/
.case.row {
	min-width: calc(1200px - 6px);
}
.case {
	border: 3px #f1f1f1 solid;
	margin-bottom: 40px;
}
.case_p {
	width: 60%;
	min-width: 700px;
}
.case_p img {
	display: block;
}
.case_txt {
	width: calc(40% - 80px);
	min-width: calc(40% - 80px);
	padding: 40px;
	background: #f1f1f1;
}
.case_txt span{
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 2px;
	display: block;
}

.list_frame {
	border: 5px #06315b solid;
	width: calc(100% - 130px);
	padding: 30px 60px;
	margin: 20px 0 100px;
}
.list_frame.row {
	flex-wrap: nowrap;
}
.col3 {
	width: calc(100% / 3);
}
.list_frame p {
	line-height: 2.4;
}

.bg_slide {
	background: #0d4472;
	width: 100%;
	padding: 20px 0 50px;
	margin-bottom: 60px;
}
.slide_name {
	font-size: 18px;
	color: #fff;
	text-align: center;
}

.btn_contact2 {
	display: block;
	width: 480px;
	margin: 0 auto 100px;
	background: #64ae64 url(../img/icon_arrow.png) right 15px center / 25px no-repeat;
	padding: 15px 40px;
	font-size: 18px;
	color: #fff;
}

.jigu_name {
	font-size: 20px;
	text-align: center;
	margin-bottom: 10px;
}
.jigu {
	width: 32%;
	margin-top: 40px;
}



/* recruit.html -----------------------------------------------------------------*/
.recruit_txt {
	font-size: 16px;
	text-align: center;
	margin-bottom: 100px;
}
table.recruit {
	border: 1px #e1e1e1 solid;
	width: 100%;
	max-width: 960px;
	margin: 0 auto 100px;
}
table.recruit tr {
	border-top: 1px #e1e1e1 solid;
	border-bottom: 1px #e1e1e1 solid;
}
table.recruit th {
	width: 200px;
	color: #06315b;
	background: #f1f1f1;
}
table.recruit td {
	padding: 15px 30px;
	line-height: 2;
}


/* privacy.html -----------------------------------------------------------------*/
.privacy {
	width: calc(100% - 30px);
	background: #f1f1f1;
	color: #06315b;
	font-size: 18px;
	font-weight: bold;
	padding: 5px 15px;
	margin: 40px 0 20px;
}
.privacy_inner {
	padding: 0 15px;
}


/* sitemap.html -----------------------------------------------------------------*/
.sitemap_frame ul {
	margin-bottom: 20px;
}
.sitemap {
	display: block;
	background: #306389;
	padding: 10px 15px;
	font-size: 18px;
	color: #fff;
	margin-bottom: 20px;
}
.sitemap_nav {
	display: inline-block;
	padding-left: 15px;
	margin: 0 0 15px 20px;
}


/* contact.html -----------------------------------------------------------------*/
.contact_txt {
	font-size: 16px;
	text-align: center;
	margin-bottom: 40px;
}
form.contact {
	width:  calc(100% - 82px);
	max-width: calc(840px - 82px);
	padding: 40px;
	border: 1px #000 solid;
	border-radius: 10px;
	margin: auto;
}
.form_ttl {
	font-size: 24px;
	text-align: center;
	margin-bottom: 40px;
}
.form_ttl span {
	font-size: 14px;
}

form.contact .wrapper {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
	margin-bottom: 15px;
}
form.contact .wrapper.start {
    align-items: flex-start;
}
form.contact .wrapper.start .item {
    margin-top: 5px;
}
form.contact .item {
    display: flex;
    align-items: center;
    width: 200px;
    font-size: 14px;
    margin-right: 30px;
}
form.contact .required {
	display: inline-block;
	background: #db0000;
	color: #fff;
	font-size: 12px;
	padding: 5px 8px 4px;
	margin: 0 10px;
}
form.contact input, form.contact textarea {
    width: calc(100% - 252px);
    border: 1px #dadbdb solid;
	border-radius: 3px;
    padding: 8px 10px;
    font-size: 16px;
}
form.contact textarea {
	min-height: 150px;
}
form.contact .name, form.contact .post, form.contact .tel {
    width: calc(100% - 230px);	
}
form.contact .name input {
    width: 40%;
    margin-right: 12px;
}
form.contact .post input {
    width: 10%;
    margin-right: 8px;
}
form.contact .post input:last-child {
    width: 18%;
	margin-left: 8px;
}
form.contact .tel input {
    width: 10%;
    margin: 0 8px;
}
form.contact .tel input:first-child {
    margin-left: 0;
}

.border {
	width: 100%;
	border-bottom: 1px #e1e1e1 solid;
	margin: 20px 0;
}

.btn_conf {
	display: block;
	width: 150px;
	padding: 12px 20px 11px;
	background: #0762ac;
	border-radius: 3px;
	margin: 60px auto 30px;
	font-size: 20px;
	text-align: center;
	color: #fff;
}

.error {
	color: #db0000;
	font-size: 12px;
	font-weight: bold;
	width: 100%;
	margin: 5px 0 0;
}
form.contact .wrapper.start .error  {
    margin-top: -130px;
}




/*==================================================================================
フッター
==================================================================================*/
footer {
	width: 100%;
	background: #06315b;
	padding: 40px 0!important;
	position: relative;
}
.btn_pagetop {
	display: block;
	width: 40px;
	position: absolute;
	right: 15px;
	top: -65px;
}
footer .comp_info p {
	font-size: 24px!important;
	color: #fff;
	line-height: 1.2;
}
footer .comp_info a {
	color: #fff;
}
footer .comp_info span.add {
	display: block;
	font-size: 14px;
	margin-top: 10px;
}
.foot_nav {
	text-align: right;
}
.foot_nav a {
	display: inline-block;
	font-size: 14px;
	color: #fff;
	padding: 0 20px;
	margin-bottom: 15px;
	border-left: 1px #fff solid;
}
.foot_nav a:nth-of-type(1),
.foot_nav a:nth-of-type(6) {
	border-left: none;
	padding-left: 0;
}
.foot_nav a:nth-of-type(5),
.foot_nav a:nth-of-type(7) {
	padding-right: 0;
}
.copyright {
	width: 100%;
	color: #fff;
	font-size: 10px;
	text-align: right;
	margin-top: 10px;
}



/* 2024.03.25 追記 -----------------------------*/
.mb_60 {
	margin-bottom: 60px;
}
.machine_p.dummy {
    border: none;
}


.pc {
	display: inline;
}
.sp {
	display: none;
}
.sp2 {
	display: none;
}

.anker {
	padding-top: 20px;
	margin-top: -20px;
}

@media screen and (max-width : 768px) {
	
	
	.pc {
		display: none;
	}
	.sp {
		display: inline;
	}

	.anker {
		padding-top: 40px;
		margin-top: -40px;
	}
	
	/*==================================================================================
	ヘッダー
	==================================================================================*/
	header {
		padding: 0!important;
	}
	header a {
		color: #06315b;
	}
	.top a {
		color: #fff;
		font-weight: bold;
	}
	.top {
		padding: 0!important;
		height: 380px;
		position: relative;
	}
	.comp_name {
		font-size: 14px;
		width: 100%;
		margin: 3px 0 10px;
	}
	.comp_name span {
		font-size: 18px;
		margin-left: 10px;
	}
	.comp_info {
		font-size: 20px;
		line-height: 1;
		font-weight: normal;
	}
	.comp_info span {
		display: none;
	}
	.top .copy {
		width: auto;
		font-size: 20px;
		margin-top: 80px;
	}
	.head_menu {
		display: none;
	}
	
	
	
	/*==================================================================================
	メイン
	==================================================================================*/
	.container {
		width: calc(100% - 30px);
		padding: 15px;
	}
	.col2 {
		width: 100%;
	}

	h1 {
		font-size: 24px;
		border-left: 10px #0d4d9a solid!important;
		margin: 20px 0!important;
		line-height: 1.4;
	}
	h1 span {
		padding: 0 10px;
	}
	
	.mb_100 {
		margin-bottom: 60px;
	}
	
	/* index.html */
	.news {
		padding: 10px 15px;
	}
	
	.top_service {
		margin: 60px 0;
	}
	.top_service a {
		width: 100%;
		height: 200px;
		font-size: 28px;
		padding-top: 60px;
	}
	.top_service a span {
		font-size: 14px;
	}
	.top_service a::before {
		width: 30px;
		height: 30px;
		background: url(../img/icon_arrow.png) center center / 30px no-repeat;
		bottom: 60px;
		margin-left: -15px;
	}
	
	.btn_machine {
		width: calc(100% - 30px);
		min-height: 200px;
		padding: 15px;
		font-size: 20px;
		line-height: 1.6;
		letter-spacing: 8px;
		background: url(../img/top_machine.jpg) right bottom -80px / 300px no-repeat;
		margin-bottom: 60px;
	}

	.btn_company {
		margin-bottom: 15px;
	}
	.btn_company p {
		font-size: 18px;
		padding: 15px;
	}
	.btn_company span {
		font-size: 10px;
	}

	.top_recruit {
		width: 100%;
		height: 300px;
		margin: 60px 0;
	}
	.top_recruit .container {
		max-width: calc(1200px - 30px);
		padding: 15px;
	}
	.top_recruit .ttl {
		font-size: 18px;
	}
	.top_recruit .ttl span {
		font-size: 10px;
	}
	.top_recruit .recruit_copy {
		font-size: 24px;
		line-height: 1.6;
		margin: 30px 0 20px;
	}
	.btn_recruit {
		width: 180px;
		font-size: 16px;
		padding: 10px 20px;
		background: url(../img/icon_arrow.png) right 20px center / 20px no-repeat;
	}

	.contact_txt {
		font-size: 14px;
	}
	.top_contact {
		padding: 15px;
		margin-bottom: 15px;
	}
	.icon_tel, .icon_mail {
		font-size: 18px;
		padding-left: 25px;
		margin-bottom: 10px!important;
		position: relative;
	}
	.icon_tel::before, .icon_mail::before {
		width: 16px;
		height: 16px;
	}
	.icon_tel::before {
		background: url(../img/icon_tel.png) center center / 16px no-repeat;
	}
	.icon_mail::before {
		background: url(../img/icon_mail.png) center center / 16px no-repeat;
	}
	.top_contact .tel {
		font-size: 34px;
	}
	.top_contact .tel span {
		font-size: 14px;
		margin-top: 5px;
	}
	.btn_contact {
		width: 100%;
		font-size: 20px;
		padding: 10px 0;
	}

	
	.company_top, .service_top, .case_top, .machine_top, .recruit_top, .other_top {
		height: 100px;
		margin-bottom: 40px;
	}
	.other_top {
		margin-bottom: 0;
	}
	.company_top p, .service_top p, .case_top p, .machine_top p, .recruit_top p, .other_top p {
		font-size: 24px;
		letter-spacing: 3px;
	}


	/* company.html -----------------------------------------------------------------*/
	.comp_message {
		width: 100%;
	}
	.comp_message .name {
		text-align: left;
		position: relative;
		top: 20px;
	}
	.ishijima_p {
		width: 70%;
		max-width: 200px;
		margin: 0 0 0 auto;
	}

	.attend {
		display: block;
		font-size: 12px;
		color: red;
		margin-top: 5px;
	}
	table.company {
		margin: 0 auto 60px;
	}
	table.company th {
		display: block;
		width: calc(100% - 20px);
		padding: 15px 10px 10px 10px;
		text-align: left;
	}
	table.company td {
		display: block;
		width: calc(100% - 20px);
		padding: 0 10px 10px;
		font-size: 14px;
		line-height: 1.8;
	}
	table.company tr:nth-of-type(n+10) td {
		padding: 0 10px;
	}
	table.company tr:nth-of-type(n+10) td:last-child {
		padding: 0 10px 10px;
	}
	
	.fudou {
		margin-top: 0;
	}

	.base {
		margin: 10px 0 20px;
	}
	.base span {
		font-size: 18px;
	}

	
	/* service.html -----------------------------------------------------------------*/
	.service {
		position: relative;
	}
	.btn_detail {
		width: calc(100% - 80px);
		padding: 10px 70px 10px 10px;
		text-align: left;
		position: relative;
		bottom: 0;
		margin: 20px 0;
	}


	/* machine.html -----------------------------------------------------------------*/
	.machine_p {
		width: calc(100% - 30px);
		max-width: 360px;
		margin: 0 auto 15px;
	}
	.machine_name {
		margin: 10px 0 5px;
	}

	table.machine {
		margin: 20px 0 60px;
		display: block;
	  	overflow-x: scroll;
	 	white-space: nowrap;
	  	-webkit-overflow-scrolling: touch;
	}
	table.machine::-webkit-scrollbar{
	 	height: 10px;
	}
	table.machine::-webkit-scrollbar-track{
	 	background: #F1F1F1;
	}
	table.machine::-webkit-scrollbar-thumb {
	 	background: #BCBCBC;
	}
	table.machine th {
		padding: 10px;
	}
	table.machine td {
		padding: 15px;
	}
	

	/* case.html -----------------------------------------------------------------*/
	.case.row {
		min-width: 0;
	}
	.case {
		border: 3px #f1f1f1 solid;
		margin-bottom: 40px;
	}
	.case_p {
		width: 100%;
		min-width: 0;
	}
	.case_txt {
		width: calc(100% - 30px);
		min-width: calc(100% - 30px);
		padding: 15px;
	}
	.case_txt span{
		font-size: 20px;
		letter-spacing: 0;
		display: inline-block;
		margin-bottom: 5px;
	}
	.case_txt.order {
		order: 2;
	}
	
	.list_frame {
		width: calc(100% - 40px);
		padding: 10px 15px;
		margin: 20px 0 60px;
	}
	.list_frame.row {
		flex-wrap: wrap;
	}
	.col3 {
		width: 100%;
	}
	.list_frame p {
		font-size: 12px;
	}

	.bg_slide {
		background: #0d4472;
		width: 100%;
		padding: 0 0 30px;
		margin-bottom: 40px;
	}
	.slide_name {
		font-size: 18px;
		color: #fff;
		text-align: center;
	}
	.sp-arrow {
		width: 20px!important;
		height: 40px!important;
		top: 10px;
	}
	
	.btn_contact2 {
		display: block;
		width: calc(100% - 30px);
		padding: 10px 15px;
		line-height: 1.4;
	}
	
	.jigu_name {
		font-size: 18px;
		margin: 20px 0 10px;
	}
	.jigu {
		width: 100%;
	}


	/* recruit.html -----------------------------------------------------------------*/
	.recruit_txt {
		font-size: 14px;
		margin-bottom: 60px;
	}
	table.recruit tr {
		border-top: 1px #e1e1e1 solid;
		border-bottom: 1px #e1e1e1 solid;
	}
	table.recruit th {
		width: calc(100% - 30px);
		display: block;
		text-align: left;
		padding: 15px;
	}
	table.recruit td {
		width: calc(100% - 30px);
		display: block;
		padding: 15px;
		font-size: 14px;
		line-height: 2;
	}
	

	/* privacy.html -----------------------------------------------------------------*/
	.privacy {
		font-size: 14px;
		padding: 5px 15px;
		margin: 30px 0 10px;
	}
	.privacy_inner {
		font-size: 12px;
	}
	.privacy_inner:last-of-type {
		font-size: 14px;
	}
	
	
	/* sitemap.html -----------------------------------------------------------------*/
	.sitemap_frame ul {
		margin-bottom: 15px;
	}
	.sitemap {
		margin-bottom: 15px;
		font-size: 16px;
	}
	.sitemap_nav {
		margin: 0 0 10px 0;
		font-size: 14px;
	}
	

	/* contact.html -----------------------------------------------------------------*/
	.contact_txt {
		margin-bottom: 60px;
	}
	form.contact {
		width:  calc(100% - 32px);
		max-width: calc(840px - 32px);
		padding: 30px 15px 15px;
	}
	.form_ttl {
		font-size: 20px;
		margin-bottom: 40px;
	}
	
	form.contact .wrapper {
		margin-bottom: 15px;
	}
	form.contact .wrapper.start .item {
	    margin-top: 0;
	}
	form.contact .item {
	    width: 100%;
	    margin: 0 0 10px;
	}
	form.contact .required {
		padding: 5px 8px;
	}
	form.contact input, form.contact textarea {
	    width: calc(100% - 22px);
	}
	form.contact .name, form.contact .post, form.contact .tel {
	    width: 100%;
	}
	form.contact .name {
		display: flex;
		justify-content: space-between;
	}
	form.contact .name input {
	    width: calc(48% - 22px);
	    margin-right: 0;
	}
	form.contact .post input {
	    width: 15%;
	}
	form.contact .post input:last-child {
	    width: 20%;
	}
	form.contact .tel input {
	    width: 15%;
	}
	.btn_conf {
		padding: 12px 20px;
		margin: 40px auto 20px;
		font-size: 18px;
	}
	.error {
		margin: 10px 0 0;
	}
	form.contact .wrapper.start .error  {
	    margin-top: 10px!important;
	}

	
	/*==================================================================================
	フッター
	==================================================================================*/
	footer {
		padding: 15px 0!important;
	}
	.btn_pagetop {
		width: 35px;
		right: 15px;
		top: -45px;
	}
	footer .comp_info {
		width: 100%;
	}
	footer .comp_info p {
		font-size: 24px!important;
		line-height: 1;
	}
	footer .comp_info span.add {
		font-size: 16px;
		margin-bottom: 20px;
	}
	.foot_nav {
		text-align: left;
	}
	.foot_nav a {
		font-size: 12px;
		color: #fff;
		padding: 0 15px;
		margin-bottom: 10px;
		border-left: 1px #fff solid;
	}
	.foot_nav a:nth-of-type(1),
	.foot_nav a:nth-of-type(5) {
		border-left: none;
		padding-left: 0;
	}
	.foot_nav a:nth-of-type(5) {
		padding-right: 15px;
	}
	.foot_nav a:nth-of-type(6) {
		padding-left: 15px;
		border-left: 1px #fff solid;
	
	}
	.copyright {
		width: 100%;
		color: #fff;
		font-size: 10px;
		text-align: left;
		margin-top: 15px;
	}

}



@media screen and (max-width : 460px){
	.sp2 {
		display: inline;
	}
}



