@charset "UTF-8";

body {
	font-size: 16px;
	color: #1c1c1c;
	margin: 0;
	line-height: 1.75;
	font-family: 'Oswald',"YuGothic","游ゴシック","Hiragino Sans",sans-serif,system-ui;
}

/*ヘッダー*/
header {
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 0;
}
header h1 {
    margin: 0;
    display: flex;
    float: left;
}
header h1 a {
    display: block;
    line-height: 0;
}
header h1 a:nth-child(2) {
    margin-left: 10px;
    padding-left: 10px;
    border-left: 1px solid #ccc;
}
header::after {
	content: " ";
	display: block;
	clear: both;
}

/*ヘッダーサイド*/
header .side {
    float: right;
    display: flex;
    margin: 6px 40px 0 0;
}
header .about {
	margin: 0;
	padding: 0;
	list-style: none;
}
header .about li {
	float: left;
	margin-right: 20px;
}
header .about a {
	color: #1c1c1c;
	text-decoration: none;
}
header .info {
	margin: 0;
	padding: 0;
	list-style: none;
}
header .info li {
	float: left;
}
header .info a {
	display: block;
	color: #ffffff;
	text-decoration: none;
	text-align: center;
	border-radius: 14px;
	transition: 0.8s;
	padding: 0 8px;
}
header .info a:hover {
	opacity: 0.7;
}
header .info .new a {
	background: #00a1c7;
	margin-right: 10px;
}
header .info .career a {
	background: #0071c9;
}

/*グローバルナビゲーション*/
#gloval-nav nav {
	z-index: 999;
}
#gloval-nav {
	background-image: linear-gradient(-45deg, rgba(0,113,201,0.9), rgba(0,161,199,0.9));
	color: #fff;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 990;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 29px;
	padding-left: 0;
	transform: translateX(-100%);
	transition:transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open #gloval-nav {
	transform: translateX(0);
}
#gloval-nav a {
	display: inline-block;
	color: #ffffff;
	font-size: 20px;
	text-decoration: none;
	padding: 10px 0;
	transition: color .6s ease;
	transition: 0.4s ;
}
#gloval-nav a:before {
    content: url(../images/arrow-nav.png);
    margin: 0 10px 0 0;
}
#gloval-nav ul {
	list-style: none;
}
#gloval-nav li {
	transform: translateX(-200px);
	transition:transform 0.5s ease;
	position: relative;
}
#gloval-navli:hover:after {
	transform: translateX(300px);
}
.open #gloval-nav li {
	transform: translateX(0);
}
#gloval-nav a:hover {
	opacity: 0.9;
	transform: translateX(1em);
}

/*グローバルナビゲーションのトグル*/
#nav-toggle {
	position: fixed;
	top: 25px;
	right: 25px;
	height: 32px;
	cursor: pointer;
}
#nav-toggle div {
	position: relative;
	width: 36px;
}
#nav-toggle span {
	width: 100%;
	height: 2px;
	left: 0;
	display: block;
	background: #000;
	position: absolute;
	transition: transform 0.2s ease-in-out, top 0.2s ease;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 14px;
}
#nav-toggle span:nth-child(3) {
	top: 28px;
}
#nav-toggle:hover span:nth-child(1) {
	top: 4px;
}
#nav-toggle:hover span:nth-child(3) {
	top: 23px;
 }
.open #nav-toggle span:nth-child(1) {
	top: 15px;
	transform: rotate(45deg);
}
.open #nav-toggle span:nth-child(2) {
	top: 15px;
	width: 0;
	left: 50%;
}
.open #nav-toggle span:nth-child(3) {
	top: 15px;
	transform: rotate(-45deg);
}
#nav-toggle {
	z-index: 1000;
}
#container {
	z-index: 900;
}

/*トップビジュアル*/
#visual {
	background: url(../images/bg-visual.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	padding: 190px 0;
}
#visual div {
	max-width: 1200px;
	margin: 0 auto;
}
#visual h2 {
	float: left;
	font-size: 76px;
	color: #ffffff;
	line-height: 1.1em;
	margin: 0 0 10px;
	text-shadow: 0 0 7px #00447d;
}
#visual p {
	clear: both;
	font-size: 20px;
	color: #ffffff;
	text-shadow: 0 0 7px #00447d;
}
#visual::after {
	content: " ";
	display: block;
	clear: both;
}

/*BUSINESS部分*/
#works {
	padding: 60px 0 0;
}
#works > p {
	font-weight: bold;
	text-align: center;
	font-size: 18px;
}
#works > h2 {
	font-size: 90px;
	color: #0071c9;
	max-width: 1200px;
	margin: 0 auto;
}
#construction {
	border-top: solid 10px #deeaf8;
	background: url(../images/bg-construction.jpg);
	background-repeat: no-repeat;
	background-size: auto;
	background-position: left top;
	margin-top: -48px;
}
#maintenance {
	background: url(../images/bg-maintenance.jpg);
	background-repeat: no-repeat;
	background-size: auto;
	background-position: right top;
}
#manufacturing {
	background: url(../images/bg-sale.jpg);
	background-repeat: no-repeat;
	background-size: auto;
	background-position: left top;
}
#sale {
	background: url(../images/bg-sale.jpg);
	background-repeat: no-repeat;
	background-size: auto;
	background-position: right top;
}
#works .inner {
	width: 50%;
	background: #fff;
	padding: 74px 98px;
	box-sizing: border-box;
	font-size: 16px;
}
#construction div {
	float: right;
}
#maintenance div {
	float: left;;
}
#manufacturing div {
	float: right;
}
#sale div {
	float: left;;
}
.outer::after {
	content: " ";
	display: block;
	clear: both;
}
#works h3 {
	font-size: 40px;
	color: #0071c9;
	margin: 0;
}
#works h3 span {
	font-size: 27px;
	background: #deeaf8;
	padding: 5px 8px;
	margin-right: 10px;
	font-weight: normal;
}
#works h4 {
    margin-bottom: 0;
    font-size: 18px;
}

/*JOB部分*/
#job .tit.blue {
	background: #0071c9;
	padding: 30px 0 40px;
}
#job h2 {
	font-size: 80px;
	margin: 0;
	color: #ffffff;
	text-align: center;
	line-height: 1.2;
}
#job h2 + p {
	text-align: center;
	margin: 0;
	color: #ffffff;
}
#job .outer {
    background: #deeaf8;
    padding: 70px 0 60px;
}
#job :after {
    content: " ";
    display: block;
    clear: both;
}
#job .inner {
    max-width: 1200px;
    margin: 0 auto;
}
.job-info {
    width: 60%;
    box-sizing: border-box;
}
#job .job-info h3 {
    font-size: 2.4rem;
    text-align: center;
    padding: 16px 0;
	margin: 0 0 20px;
	color: #0071c9;
	background: #ffffff;
}
#job .job-info h4 {
    margin: 0;
    font-size: 2rem;
	color: #0071c9;
    text-align: center;
}
#job .job-info p {
    margin-top: 0;
}
.job-info.general {
    float: none;
    margin: auto;
}
.job-info.sales {
    float: right;
}

/*MESSAGE部分*/
#message {
	border-top: solid 10px #deeaf8;
	background: url(../images/bg-message.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;;
}
#message div {
	max-width: 50%;
	float: right;
	padding: 0 60px 60px;
	box-sizing: border-box;
}
#message::after {
	content: " ";
	display: block;
	clear: both;

}

#message h2 {
	color: #1c1c1c;
	font-size: 60px;
}
#message h2 span {
	font-size: 25px;
	vertical-align: middle;
	margin-left: 20px;
}
#message .word {
	font-size: 40px;
	color: #0071c9;
	font-weight: bold;
	line-height: 1.2;
}
#message .name {
	border-left: 5px solid #0071c9;
	padding: 0 0 0 15px;
}
#message .name p {
	font-size: 20px;
	margin: 0;
	line-height: 1.2;
	font-weight: lighter;
}
#message .name p span {
	font-size: 35px;
	font-weight: bold;
}

/*INTERVIEW部分*/
#interview::after {
	content: " ";
	display: block;
	clear: both;
}
#interview .tit.blue {
	background: #0071c9;
	padding: 30px 0 40px;
}
#interview h2 {
	font-size: 80px;
	margin: 0;
	color: #ffffff;
	text-align: center;
	line-height: 1.2;
}
#interview h2 + p {
	text-align: center;
	margin: 0;
	color: #ffffff;
}
#interview .member {
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 50px;
}
#interview .member .box {
	background: #deeaf8;
	box-sizing: border-box;
	padding: 40px;
	width: 48%;
	float: left;
	margin-bottom: 4%;
}
#interview .member .box div {
	width: 50%;
	float: right
}
#interview .member .box div h3 {
	color: #0071c9;
	font-size: 22px;
	margin: 40px 0 0;
}
#interview .member .box div h3 span {
	font-size: 14px;
	color: #1c1c1c;
	margin-left: 10px;
}
#interview .member .box {
    color: #333333;
    text-decoration: none !important;
    transition: 0.5s;
}
#interview .member .box:hover {
	opacity: 0.7;
}
#interview .member .box div p {
	font-size: 15px;
}
#interview .member .box div .btn {
	margin-bottom: 0;
}
#interview .member .box div .btn {
    display: block;
    background: url(../images/arrow-white.png),#0071c9;
    background-repeat: no-repeat;
    background-position: 94% center;
    color: #ffffff;
    text-decoration: none;
    width: 10rem;
    padding: 7px 7px 7px 10px;
}
#interview .member .toyoshima {
	background:url(../images/bg-toyoshima.png),linear-gradient(#ffffff 0%,#ffffff 16%,#deeaf8 16%,#deeaf8 100%);
	background-repeat: no-repeat;
	background-position: 10% 0%;
	background-size: contain;
}
#interview .member .sato.box {
	float: left;
}
#interview .member .sato {
	background:url(../images/bg-sato.png),linear-gradient(#ffffff 0%,#ffffff 16%,#deeaf8 16%,#deeaf8 100%);
	background-repeat: no-repeat;
	background-position: 10% 0%;
	background-size: contain;
}
#interview .member .kikkawa {
	background:url(../images/bg-kikkawa.png),linear-gradient(#ffffff 0%,#ffffff 16%,#deeaf8 16%,#deeaf8 100%);
	background-repeat: no-repeat;
	background-position: 10% 0%;
	background-size: contain;
    float: right;
}
#interview .member .ito {
	background:url(../images/bg-ito.png),linear-gradient(#ffffff 0%,#ffffff 16%,#deeaf8 16%,#deeaf8 100%);
	background-repeat: no-repeat;
	background-position: 4% 0%;
	background-size: contain;
    float: right;
}
#interview .member .toyoshima img {
	width: 14rem;
	height: auto;
}
#interview .member .sato img {
	width: 9rem;
	height: auto;
}
#interview .member .kikkawa img {
	width: 11rem;
	height: auto;
}
#interview .member .ito img {
	width: 9rem;
	height: auto;
}


.voice #interview .member .sato.box {
    float: none;
    display: flex;
    margin: 0 auto 40px;
    justify-content: flex-end;
}

.voice #interview .member .kikkawa.in-r {
    float: none;
    display: flex;
    margin: 0 auto 40px;
    justify-content: flex-end;
}

.voice #interview .member .ito.in-r {
    float: none;
    display: flex;
    margin: 0 auto 40px;
    justify-content: flex-end;
}

.voice #interview .member .ito.in-c  {
    float: none;
    display: flex;
    margin: 0 auto 40px;
    justify-content: flex-end;
}

/*Q&A部分*/
#qa {
	background:url(../images/bg-qa.jpg),#deeaf8;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 30px 0 50px;
}
#qa > div{
	max-width: 1200px;
	margin:  0 auto;
}
#qa h2 {
	font-size: 40px;
	color: #0071c9;
}

.accbox {
    margin: 2em 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
}

.accbox label {
    display: block;
	margin: 1.6rem 0 0;
    padding: 20px;
    color: #0071c9;
    background: url(../images/triangle-under.png),#ffffff;
    background-repeat: no-repeat;
    background-position: 98% center;
    cursor: pointer;
    transition: all 0.2s;
}
.accbox label::before {
    content: "Q";
    display: block;
    float: left;
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    text-align: center;
    color: #ffffff;
    background: #0071c9;
    border-radius: 1rem;
    margin-right: 10px;
}

.accbox label:hover {
	opacity: 0.8;
}

.accbox input {
    display: none;
}

.accbox .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.2s;
}

.cssacc:checked + .accshow {
    height: auto;
    padding: 20px;
    background: #ebf1f7;
    opacity: 1;
}
.cssacc:checked + .accshow::before {
    content: "A";
    display: block;
    float: left;
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    text-align: center;
    color: #0071c9;
    background: #ffffff;
    border-radius: 1rem;
    margin: 0 1rem 	1rem 0;
}
.cssacc:checked + .accshow p {
	margin: 0;
}

/*RECRUIT部分*/
.recruit::after {
	content: " ";
	display: block;
	clear: both;
}
.recruit .tit.orange {
	background: #f49914;
	padding: 30px 0 40px;
}
.recruit h2 {
	font-size: 80px;
	margin: 0;
	color: #ffffff;
	text-align: center;
	line-height: 1.2;
}
.recruit h2 + p {
	text-align: center;
	margin: 0;
	color: #ffffff;
}
.recruit .outer {
	background:url(../images/bg-recruit.jpg),#cccccc;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	padding: 30px 0 50px;
}
.recruit .inner {
	max-width: 1200px;
	margin: 0 auto;
}
.btn-info {
    width: 48%;
    box-sizing: border-box;
    border: 1px solid #fff;
    text-align: center;
}
.btn-info.new {
    float: left;
}
.btn-info.career {
    float: right;
}
.btn-info a {
	text-decoration: none;
	color: #ffffff;
	display: block;
	padding: 30px 0;
	transition: 0.7s; 
}
.btn-info a:hover {
	background: rgba(255,255,255,0.2);
}
.btn-info a h3 {
	font-size: 40px;
	margin: 0;
	line-height: 1;
}
.btn-info a p {
	font-size: 18px;
}
.btn-info a  p.link {
    font-size: 14px;
    width: 7rem;
    margin: 0 auto;
    padding: 10px 0;
    border-radius: 18px;
    line-height: 1;
}
.btn-info.new a p.link {
	background: #00a1c7
}
.btn-info.career a p.link {
	background: #0071c9
}
/*COMPANY部分*/
#company {
	max-width: 1200px;
	margin: 0 auto;
}
#company::after {
	content: " ";
	display: block;
	clear: both;
}
#company h2 {
	font-size: 80px;
	margin-bottom: 30px;
}
#company h2 span {
	font-size: 20px;
}

#company table {
    float: left;
}
#company table th {
    font-weight: normal;
    text-align: left;
    width: 10rem;
}
#company .map {
	float: right;
}
#company .map h3 {
	font-size: 1rem;
}
#company .map img {
	border: 1px solid #cccccc;
}

/*aside部分*/
aside {
	background:url(../images/bg-aside.jpg),#00a1c7;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	padding: 50px 0;
	text-align: center;
}
aside p {
	margin: 0;
}
aside p a img {
	width: 300px;
	transition: 0.7s;
}
aside p a:hover img {
	opacity: 0.8;
}

/*footer部分*/
footer {
	text-align: center;
	padding: 30px 0;
}
footer#c-b {
	border-top: 1px solid #ccc;
}
footer p {
	margin: 0;
}

/*インタビューページ上部*/
#visual-interview div {
	max-width: 1200px;
	margin: 0 auto;
}
#visual-interview.k div div {
	float: right;
}
#visual-interview h2 {
	float: left;
	font-size: 56px;
	color: #ffffff;
	line-height: 1.1em;
	margin: 0 0 10px;
	text-shadow: 0 0 5px #333333;
}
#visual-interview p {
	clear: both;
	font-size: 20px;
	color: #ffffff;
	text-shadow: 0 0 5px #333333;
	margin: 0;
}
#visual-interview .career {
	margin-left: 10px;
}
#visual-interview p img {
	margin-top: 30px;
}
#visual-interview::after {
	content: " ";
	display: block;
	clear: both;
}
#visual-interview.t {
	background: url(../images/bg-interview01.jpg) #0071c9;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 190px 0;
}
#visual-interview.o {
	background: url(../images/bg-interview02.jpg) #0071c9;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 190px 0;
}
#visual-interview.k {
	background: url(../images/bg-interview03.jpg) #0071c9;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 190px 0;
}
#visual-interview.i {
	background: url(../images/bg-interview04.jpg) #0071c9;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 190px 0;
}
/*インタビューページ内容部分*/
#interview-content {
	max-width: 1200px;
	margin: 60px auto 0;
}
#interview-content .content {
	display: flex;
	justify-content: space-between;
}
#interview-content .content div {
	width: 48%;
}
#interview-content .content .photo img {
	max-width: 100%;
	margin-bottom: 60px;
}
#interview-content .content div h2 {
	font-size: 24px;
	color: #0071c5;
	font-weight: normal;
	line-height: 1.8em;
	margin: 0;
	margin-bottom: 10px;
}
#interview-content .content div h2 span {
	 display: block;
	width: max-content;
	font-size: 16px;
	color: #ffffff;
	background: #0071c5;
	padding: 6px 12px;
	font-weight: normal;
	line-height: 1.2;
}
#interview-content .content div p {
	margin-bottom: 50px;
}
.timetable section {
	background: #009fc4;
	color: #ffffff;
	padding: 50px;
	margin-bottom: 60px;
}
#interview-content .content .timetable h2 {
	color: #ffffff;
	font-size: 18px;
	margin-top: 0;
}
#interview-content .content .timetable h2:nth-child(3) {
	margin-top: 30px;
}
#interview-content .content .timetable table {
	width: 100%;
	border-collapse: collapse;
}
#interview-content .content .timetable table th {
    vertical-align: top;
    border-right: 1px solid;
    width: 18%;
    min-width: 5em;
}
#interview-content .content .timetable table td {
	padding-bottom: 1em;
	padding-left: 1em;
}
#interview-content .content .timetable table tr:last-child td {
    padding-bottom: 0 !important;
}
.rewarding {
	background: #e7edf3;
	padding: 50px;
	margin-bottom: 60px;
}
#interview-content .content .rewarding h2 {
	margin-top: 0;
	font-size: 20px;
}
#interview-content .content .rewarding p {
	margin-bottom: 0;
}
.messe {
	background: #0071c5;
	padding: 50px;
	margin-bottom: 60px;
	color: #ffffff;
}
#interview-content .content .messe h2 {
	margin-top: 0;
	font-size: 20px;
	color: #ffffff;
}
#interview-content .content .messe p {
	margin-bottom: 0;
}
.voice #interview .member .sato.in-l {
	float: left;
}
.voice #interview .member .kikkawa.in-l {
	float: left;
}
.voice #interview .member .ito.in-r {
	float: right;
    min-height: 306px;
}
.one section#interview-content .content:nth-child(2) .photo {
    display: flex;
    flex-direction: column;
}
.one section#interview-content .content:nth-child(2) .photo img {
    margin-bottom: 20px;
}
.one section#interview-content .content:nth-child(2) .photo img:last-child {
    margin-bottom: 60px;
}

/*採用情報*/
#recruit-head .tit.blue {
	background: #0071c9;
	padding: 30px 20px 40px;
}
#recruit-head h2 {
	font-size: 60px;
	margin: 0;
	color: #ffffff;
	text-align: center;
	line-height: 1.2;
}
#recruit-head h2 + p {
	text-align: center;
	margin: 20px 0 0;
	color: #ffffff;
}
#recruit-content {
    max-width: 90%;
    margin: 0 auto;
}
#recruit-content h3 {
    font-size: 2em;
    color: #0071c9;
}
#recruit-content table {
    border-collapse: collapse;
    width: 100%;
}
#recruit-content table th {
    border: 1px solid #ccc;
    padding: 10px;
    min-width: 5em;
    background: #deeaf8;
}
#recruit-content table td {
    padding: 10px;
    border: 1px solid #ccc;
}
#recruit-content dt {
    float: left;
    width: 8em;
    font-weight: bold;
}
#recruit-content dd {
    border-bottom: 1px solid #ccc;
    padding: 0 0 2em 9em;
    margin: 0 0 2em 0;
}
#recruit-content dd span {
    font-size: 0.8em;
}
#inquiry {
    max-width: 90%;
    margin: 20px auto 40px;
    box-sizing: border-box;
    padding: 30px;
    border: 1px solid #cccccc;
    border-radius: 6px;
}
#inquiry h2 {
    margin: 0;
}
#inquiry dt {
    float: left;
    width: 5em;
    font-weight: bold;
}
#inquiry dd {
    border-bottom: 1px solid #ccc;
    padding: 0 0 1em 5em;
    margin: 0 0 1em 0;
}
#inquiry dd:last-child {
    border: none;
    padding: 0 0 0 5em;
    margin: 0;
}

#mail {
    max-width: 90%;
    margin: 0 auto 30px;
}
#mail h2 {
    font-size: 2em;
    color: #0071c9;
    margin-bottom: 0;
}
#mail form {
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 1em 2em;
    box-sizing: border-box;
    margin: 0 auto;
}
span.must {
    font-size: 0.8em;
    padding: 5px;
    background: #c90000;
    margin-right: 10px;
    border-radius: 3px;
    color: #ffffff;
}
#mail dt {
    float: left;
    width: 16em;
    font-weight: bold;
}
#mail dd {
    border-bottom: 1px solid #ccc;
    padding: 0 0 1em 16em;
    margin: 0 0 1em 0;
}
#mail dd:last-child {
    border: none;
    padding: 0 0 0 11em;
    margin: 0;
}
#mail input {
    padding: 6px;
    font-size: 1em;
}
#mail ol {
    list-style: none;
    padding: 0;
    margin: 0;
}
#mail ol li {
    margin: 0 0 10px;
}
#mail ol li span {
    margin-right: 10px;
}
.mfp_buttons {
    text-align: right;
}
.mfp_buttons button {
    padding: 10px;
    font-size: 1.7em;
    border-radius: 6px;
    border: 1px solid #0071c9;
    color: #0071c9;
    transition: 0.3s;
    background: #dfeffb;
}
.mfp_buttons button:hover {
    background: #0071c9;
    color: #ffffff;
}
#mail:after {
    content: "";
    display: block;
    clear: both;
}
textarea#mfp_element_13 {
    border: 1px solid #ccc;
}
/*新卒マイナビのバナー*/
.bnr-mynavi {
    margin: 30px 0 0;
    text-align: center;
}


/*1400px以上の場合*/
@media(min-width: 1400px) {
	#construction {
		background-size: 50%;
	}
	#maintenance {
		background-size: 50%;
	}
	#manufacturing {
		background-size: 50%;
	}
	#sale {
		background-size: 50%;
	}
}

/*1300px以下の場合*/
@media(max-width: 1300px) {
	#nav-toggle {
		top: 15px;
	}
}
/*1200px以下の場合*/
@media(max-width: 1220px) {
	header {
		max-width: 90%;
	}
	#works .inner {
		font-size: 1rem;
	}
	#visual div {
		max-width: 90%;
	}
	#works > h2 {
		max-width: 90%;
	}
	#works .inner {
		padding: 4rem;
	}
	#works h3 {
		margin-top: 0;
	}
	#job .inner {
		max-width: 90%;
	}
	#message div {
		max-width: 60%;
	}
	#interview .member {
		max-width: 90%;
	}
	#qa > div {
		max-width: 90%;
	}
	.recruit .inner {
		max-width: 90%;
	}
	#company {
		max-width: 90%;
	}
	#visual-interview div {
		max-width: 90%;
	}
}
/*1040px以下の場合*/
@media(max-width: 1140px) {
	#interview .member .box {
		width: 100%;
	}
	#interview .member .box {
		background-position: 30% 0%;
	}
	#company table {
		float: none;
		margin-bottom: 40px;
	}
	#company .map {
		float: none;
	}
	#message div {
		max-width: 80%;
	}
	#interview-content {
		max-width: 90%;
	}
	#interview-content .content {
		display: block;
	}
	#interview-content .content div {
		width: 100%;
	}
	#interview-content .content div h2 {
		font-size: 18px;
	}
	#interview-content .content div h2 span {
		margin-bottom: 12px;
	}
	.one section#interview-content .content:nth-child(1) .photo img {
		margin-bottom: 20px;
		width: 100%;
	}
	.one section#interview-content .content:nth-child(2) .photo {
		flex-direction: initial;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: baseline;
	}
	.one section#interview-content .content:nth-child(2) .photo img {
		width: 49%;
	}
}
/*890px以下の場合*/
@media(max-width: 890px) {
	#works .inner {
		width: 100%;
	}
	header {
		padding: 10px 0;
	}
	header h1 {
		float: none;
		text-align: center;
        display: flex;
	}
	header .side {
		display: none;
	}
	#nav-toggle {
		background: #fff;
		padding: 10px;
	}
	#visual h2 {
		font-size: 3rem;
	}
	#visual p {
		font-size: 1rem;
	}
	#construction {
		background-position: left top;
		background-size: cover;
	}
	#maintenance {
		background-position: left top;
		background-size: cover;
	}
	#manufacturing {
		background-position: left top;
		background-size: cover;
	}
	#sale {
		background-position: left top;
		background-size: cover;
	}
	#works h3 {
		font-size: 20px;
	}
	#works h3 span {
		font-size: 20px;
	}
	#job .outer {
		padding: 40px 0;
	}
	.job-info {
		width: 100%;
	}
	.job-info.general {
		float: none;
		margin-bottom: 0px;
	}
	.job-info.sales {
		float: none;
	}
	#job .job-info h3 {
		font-size: 1.6rem;
	}
	#job .job-info h4 {
		font-size: 1.5rem;
	}
	#qa {
		background-size: auto;
	}
	.btn-info {
		width: 100%;
	}
	.btn-info.new {
		float: none;
		margin-bottom: 20px;
	}
	.btn-info.career {
		float: none;
	}
	.btn-info a h3 {
		font-size: 30px;
	}

	#company table {
		border-collapse: collapse;
	}
	#company table th {
		height: auto;
		padding: 20px 0;
		border-bottom: 1px solid #cccccc;
	}
	#company table td {
		padding: 20px 0;
		border-bottom: 1px solid #cccccc;
	}
	#visual-interview h2 {
		font-size: 3rem;
	}
	#visual-interview p {
		font-size: 1rem;
	}
    .voice #interview .member .ito.in-r {
        min-height: auto;
    }
}
/*760px以下の場合*/
@media(max-width: 760px) {
	header h1 img {
		width: 120px;
        height: auto;
	}
	#visual {
		padding: 110px 0;
	}
	#gloval-nav ul {
		padding: 0 1em;
	}
	#gloval-nav a {
		font-size: 16px;
	}
	#visual h2 {
		font-size: 2rem;
	}
	#works {
		padding-top: 30px;
	}
	#works > h2 {
		font-size: 50px;
	}
	#works .inner {
		max-width: 100%;
		padding: 2rem;
	}
	#works > p {
		text-align: left;
		font-size: 1rem;
		max-width: 90%;
		margin: 0 auto 30px;
	}
	#construction::before {
		content: " ";
		display: block;
		width: 100%;
		height: 160px;
		background-image: url(../images/bg-construction.jpg);
		background-color: #fafafa;
		background-repeat: no-repeat;
		background-size: 50%;
		background-position: center;
	}
	#maintenance::before {
		content: " ";
		display: block;
		width: 100%;
		height: 160px;
		background: url(../images/bg-maintenance.jpg);
		background-color: #fafafa;
		background-repeat: no-repeat;
		background-size: 50%;
		background-position: center;
	}
	#manufacturing::before {
		content: " ";
		display: block;
		width: 100%;
		height: 160px;
		background: url(../images/bg-sale.jpg);
		background-color: #fafafa;
		background-repeat: no-repeat;
		background-size: 50%;
		background-position: center;
	}
	#sale::before {
		content: " ";
		display: block;
		width: 100%;
		height: 160px;
		background: url(../images/bg-sale.jpg);
		background-color: #fafafa;
		background-repeat: no-repeat;
		background-size: 50%;
		background-position: center;
	}
	#construction {
		margin-top: 0;
	}
	#message div {
		max-width: 90%;
	}
	#message h2 {
		font-size: 30px;
	}
	#message h2 span {
		font-size: 18px;
	}
	#message .word {
		font-size: 20px;
	}
	#message .name p {
		font-size: 1rem;
	}
	#message .name p span {
		font-size: 1.5rem;
	}
	.tit h2 {
		font-size: 2rem !important;
	}
	#interview .member {
		padding: 50px 0 50px;
	}
	#interview .member .box {
		background-position: right bottom !important;
		padding: 0;
		margin-bottom: 50px;
	}
	#interview .member .box div {
		width: 100%;
	}
	#interview .member .box div h3 {
		margin: 70px 0 0;
	}
	#interview .member .toyoshima {
		background-image: url(../images/bg-toyoshima.png);
	}
	#interview .member .sato {
		background-image :url(../images/bg-sato.png);
	}
	#interview .member .kikkawa {
		background-image: url(../images/bg-kikkawa.png);
	}
    #interview .member .ito {
		background-image: url(../images/bg-ito.png);
	}
	#qa h2 {
		font-size: 2rem;
	}
	#company h2 {
		font-size: 2rem;
	}
	#company table th {
		vertical-align: top;
	}
	#company table td {
		vertical-align: top;
	}
	.map img {
		width: 100%;
		height: auto;
	}
	#visual-interview {
		padding: 20px 0 40px !important;
		background-size: contain !important;
	}
	#visual-interview div {
		padding-top: 270px;
	}
	#visual-interview.k div div {
		padding-top: 0px;
		float: none;
	}
	#visual-interview p img {
		margin-top: 10px;
	}
	#visual-interview h2 {
		font-size: 1.8rem;
	}
	.timetable section {
		padding: 20px;
	}
	.rewarding {
		padding: 20px;
	}
	.messe {
		padding: 20px;
	}
	#recruit-content dt {
		float: none;
		width: 100%;
	}
	#recruit-content dd {
		padding: 0 0 2em 0;
	}
	#mail dt {
		float: none;
		width: 100%;
		margin-bottom: 14px;
	}
	#mail dd {
		padding: 0 0 1em 0;
		border: none;
	}
	#mail dd:last-child {
		padding: 0;
	}
	#mail input {
		width: 100%;
		box-sizing: border-box;
	}
	#mail .mfp input {
		width: 40%;
	}
	#mail textarea {
		width: 100%;
		box-sizing: border-box;
	}
	#inquiry {
		max-width: 90%;
	}
    #nav-toggle {
        top: 10px;
        right: 10px;
    }
}