@charset "utf-8";
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body{
font-family: "Noto Sans JP";
}

ul li, ol li{
line-height: 1.5;
}

.clearfix:after {
	content:" ";
	display:block;
	clear:both;
}

a {
	color: #000000;
	text-decoration:underline;
	transition: all 0.3s ease-in-out 0s;
}

a:hover {
	color: #666666;
	text-decoration:none;
}

a:hover img{
opacity: 0.7
}

img{
max-width: 100%;
}


.fixed {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
}

.flex {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap:wrap;
}

.flex_wrap_left {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	-webkit-justify-content: flex-start;
	justify-content:flex-start
}

.flex_wrap_center {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	-webkit-justify-content: center;
	justify-content: center;
}

.flex_wrap_end {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.clearer {
	clear: both;
}

.center{
text-align: center;
}

.sp{
display: none;
}


/********************************
採用ページ
********************************/
body{
background: url("../img/bg01.jpg");
}

header{
position: relative;
line-height: 0;
}

header .logo{
position: absolute;
left: 0;
top:0;
z-index: 11;
}

header .tel{
margin-right: 160px;
padding: 60px 0 30px;
text-align: right;
font-size:22px;
}

header .tel_btn{
display: none;
}

header .tel img{
vertical-align: baseline;
padding-left: 20px;
}

header .mail_btn{
position: absolute;
right: 0;
top:0;
}

.mv{
line-height: 0;
}

.catch{
max-width: 1080px;
margin: 0 auto;
padding: 115px 0;
border-bottom: 1px solid #666666;
}

h2{
font-size:55px;
font-family:'Zen Kaku Gothic New', sans-serif;
font-weight:900;
margin-bottom: 20px;
line-height: 1.5;
}

.catch p{
font-size:31px;
font-family: "Noto Sans JP";
font-weight:bold;
margin-bottom: 20px;
line-height: 2.5;
}

.message{
max-width: 1620px;
margin: 115px auto;
border-bottom: 1px solid #666666;
background: url("../img/owners_message.png") left top no-repeat;
}

.message .flex{
padding: 180px 0;
}

.message .message_text{
width: 50%;
padding: 0 45px;
}

.message .message_text p{
font-size:22px;
line-height: 2.5;
font-family: "Noto Sans JP";
font-weight:bold;
}

.important{
max-width: 1620px;
margin: 115px auto;
padding: 0 0 115px;
border-bottom: 1px solid #666666;
}

.important h2{
text-align: center;
}

.important_list{
max-width: 1515px;
margin: 120px auto 0;
}

.important_list li{
position: relative;
width: 30%;
text-align: center;
}

.important_list li .bg{
min-height: 240px;
padding:60px 40px 40px;
background: #FFFFFF;
}

.important_list li:nth-child(2){
margin-top: 80px;
}

.important_list li:nth-child(3){
margin-top: 160px;
}

.important_list li .num{
position: absolute;
top:-40px;
left: 0;
width: 100%;
text-align: center;
}

.important_list li h3{
font-size:31px;
margin: 20px 0;
font-family: "Noto Sans JP";
font-weight:bold;
}

.important_list li p{
font-size:22px;
text-align: left;
}

.personality h2{
text-align: center;
}

.personality .cnt{
background: url("../img/recruit_bg.png") top center no-repeat;
max-width: 1920px;
margin: 0 auto;
}

.balloon{
max-width: 1420px;
margin: 0 auto 300px;
position: relative
}

.balloon .balloon01{
width: 30%;
padding-top: 65px;
}

.balloon .balloon02{
width: 30%;
padding-top: 425px;
}

.balloon .balloon03{
width: 40%;
}

.voice{
max-width: 1480px;
margin: 0 auto 290px;
}

.voice li{
width: 30%;
}

.vision{
margin-bottom: 350px;
}

.vision .cnt{
max-width: 1920px;
margin: 0 auto;
position: relative;
}

.vision .vision_l{
width: 55%;
background: rgba(255,255,255,0.3);
}

.vision .vision_l .vision_text{
background: url("../img/vision.png") left 50px no-repeat;
margin-left: calc(50vw - 810px);
padding: 140px 15% 50px 40px;
}

.vision .vision_l p{
font-size:22px;
line-height: 2.5;
font-family: "Noto Sans JP";
font-weight:bold;
}

.vision .vision_r{
width: 50%;
position: absolute;
top:100px;
right: 0;
}

.faq {
margin-bottom: 200px;
}

.faq h2{
text-align: center;
margin-bottom: 80px;
}

.faq .faq_list{
max-width: 1200px;
margin: 0 auto;
border-bottom: 1px solid #666666;
}

.faq .faq_list dt{
margin-top: 40px;
padding:40px;
font-size:31px;
font-family: "Noto Sans JP";
font-weight:bold;
letter-spacing: 2px;
border-top: 1px solid #666666;
margin-left: 1em;
text-indent: -1em;
}

.faq .faq_list dt:before{
content:"Q.";
}

.faq .faq_list dd{
background: rgba(255,255,255,0.3);
padding: 40px;
font-size:31px;
font-family: "Noto Sans JP";
font-weight:bold;
letter-spacing: 2px;
}

.faq .faq_list dd:before{
content:"A.";

}

.faq .faq_list dd p{
margin: 20px 0 0;
font-size:22px;
line-height: 1.5;
margin-left: 30px;
font-weight: normal;
}

.job{
max-width: 1200px;
margin: 0 auto 240px;
}

.job h2{
text-align: center;
margin-bottom: 80px;
}

.job_list{
border-top: 1px solid #666666;
}

.job_list li{
width: 48%;
font-size:28px;
font-family: "Noto Sans JP";
font-weight:bold;
letter-spacing: 2px;
background: url("../img/icon_user.png") left top no-repeat;
margin-top: 50px;
padding:0 0 0 40px; 
}

.job_list li p{
margin: 10px 0 0;
font-size:22px;
line-height: 1.5;
font-weight: normal;
}

.contact{
max-width: 1200px;
margin: 0 auto 240px;
text-align: center;
}

.contact .arrow{
margin: 50px 0 20px;
}

.contact .arrow span{
background: url("../img/arrow_down.png") right center no-repeat;
padding: 10px 60px 10px 0;
font-size:36px;
font-family: "Noto Sans JP";
font-weight:bold;
}

.contact .contact_area{
background: #FFFFFF;
border-radius: 140px;
padding: 70px 100px;
}

.btn a{
display: block;
padding: 24px 90px;
background:#000000 url("../img/arrow.png") 40px center no-repeat;
color: #FFFFFF;
text-decoration: none;
font-size:24px;
font-family: "Noto Sans JP";
font-weight:bold;
border-radius: 70px;
}

.btn.mail a{
background-color: #000000;
background-image: url("../img/icon_mail.png"), url("../img/arrow.png");
background-position: 90% center, 40px center;
background-repeat: no-repeat;
}

.access{
max-width: 1200px;
margin: 0 auto 120px;
}

.access h2{
text-align: center;
margin-bottom: 80px;
}

.access_img{
width: 508px;
}

.access_img .btn{
margin: 20px 40px;
text-align: center;
}

.access_text{
width: calc(100% - 600px);
}

.access_text .ttl{
font-size:31px;
font-family: "Noto Sans JP";
font-weight:bold;
margin-bottom: 20px;
}

.access_text .tel{
width: 320px;
padding-bottom: 20px;
}

.access_text .address{
border-top: 1px solid #666666;
padding: 20px 0 20px 150px;
font-size:20px;
font-family: "Noto Sans JP";
background: url("../img/footer_address.png") left center no-repeat;
line-height: 1.5;
}

.access_text .open{
border-top: 1px solid #666666;
padding: 20px 0 20px 150px;
font-size:20px;
font-family: "Noto Sans JP";
background: url("../img/footer_open.png") left center no-repeat;
line-height: 1.5;
}

.access_text .catchcopy{
font-family: "Noto Sans JP";
color: #b6272d;
font-size:29px;
line-height: 1.8;
text-align: center;
}

.copyright{
background: #000000;
padding: 10px 0;
text-align: center;
color: #FFFFFF;
font-size:14px;
}


/********************************
お問い合わせフォーム
********************************/

.contact_contents{
max-width: 940px;
width: 94%;
margin: 50px auto;
}

.contact_contents h2{
text-align: center;
}

.contact_contents p{
margin-bottom: 20px;
line-height: 1.5;
}

#formWrap {
background: rgba(255,255,255,0.3);
padding: 50px;
border-radius: 20px;
}

.contact_dl dt{
width: 200px;
padding: 20px 0;
border-bottom: 1px solid rgba(255,255,255,0.5);
}

.contact_dl dt sup{
color: red;
}

.contact_dl dd{
width:calc(100% - 200px);
padding: 20px;
border-bottom: 1px solid rgba(255,255,255,0.5);
}

.contact_dl dd select{
padding: 10px;
border-radius: 5px;
border:none;
background: #FFFFFF;
}

.contact_dl dd input[type=text]{
width: 100%;
padding: 10px;
border-radius: 5px;
border:none;
background: #FFFFFF;
}

.contact_dl dd textarea{
width: 100%;
padding: 10px;
border-radius: 5px;
border:none;
background: #FFFFFF;
line-height: 1.5;
}

.submit_btn{
max-width: 480px;
margin: 20px auto;
text-align: center;
}

#formWrap .submit_btn input[type=submit]{
border: none;
width:48%;
padding: 15px;
background: #000000;
color: #FFFFFF;
border-radius: 10px;
font-size:18px;
font-weight:bold;
font-family: "Noto Sans JP";
}

#formWrap .submit_btn input[type=reset]{
border: none;
width:48%;
padding: 15px;
background: #000000;
color: #FFFFFF;
border-radius: 10px;
font-size:18px;
font-weight:bold;
font-family: "Noto Sans JP";
}

#formWrap .submit_btn input[type=button]{
border: none;
width:48%;
margin: 0 auto;
padding: 15px;
background:none;
color: #000000;
border-radius: 10px;
font-size:18px;
font-weight:normal;
font-family: "Noto Sans JP";
text-decoration: underline
}


#formWrap input[type=button]{
border: none;
width:48%;
margin: 0 auto;
padding: 15px;
background: #000000;
color: #FFFFFF;
border-radius: 10px;
font-size:18px;
font-weight:bold;
font-family: "Noto Sans JP";
}

#formWrap h4{
margin-bottom: 40px;
}

#formWrap .btn{
max-width: 90%;
width:320px;
margin: 0 auto;
text-align: center;
}

#formWrap .btn a{
padding: 24px 0 24px 40px;
}

/********************************
レスポンシブ
********************************/

@media screen and (min-width: 768px) {
	 a[href^="tel:"] {
		 pointer-events: none;
		 cursor: default;
	}
}

@media screen and (max-width: 1650px) {
.message{
max-width: 94%;
}

.message_img{
width: 50%;
}

.message .message_text p {
font-size: 20px;
line-height: 2.3;
}

.important{
max-width: 90%;
}

.important_list{
max-width: 90%;
}

.important_list li h3 {
font-size: 26px;
}

.important_list li p {
 font-size: 20px;
}

.personality .cnt{
max-width: 100%;
}

.voice{
margin: 0 auto 200px;
}

.vision{
margin-bottom: 200px;
}

.vision .cnt {
max-width: 100%;
}

.vision .vision_l .vision_text {
margin-left:3%;
padding: 140px 15% 50px 45px;
}

}

@media screen and (max-width: 1480px) {
header .logo {
width: 33%;
}

header .tel {
padding: 40px 0 20px;
font-size: 16px;
}

h2 {
font-size: 40px;
}

.catch {
padding: 75px 0;
text-align: center;
}

.catch h2 {
font-size: 48px;
}

.catch p {
font-size: 24px;
}

.message{
margin: 75px auto;
}

.message .flex {
 padding: 180px 0 90px;
}

.message .message_text {
width: 60%;
padding: 0 35px;
}

.message_img {
width: 40%;
    }
	
.message .message_text p {
font-size: 18px;
line-height: 2;
    }
	
.important {
margin: 75px auto;
}

.important_list li h3 {
font-size: 22px;
}

.important_list li p {
 font-size: 18px;
}

.voice{
max-width: 94%;
}

.balloon {
max-width: 90%;
margin: 0 auto 250px;
}

.vision .vision_l p {
font-size: 18px;
line-height: 2;
}

.faq {
margin-bottom: 100px;
}

.faq .faq_list dt {
margin-top: 30px;
padding: 30px;
font-size: 24px;
}

.faq .faq_list dd {
padding: 30px;
font-size: 24px;
}

.faq .faq_list dd p {
font-size: 18px;
margin-left: 25px;
}

.job {
max-width: 94%;
margin: 0 auto 150px;
}

.job h2 {
margin-bottom: 50px;
}

.job_list li {
font-size: 24px;
margin-top: 30px;
background-size: 20px auto;
padding: 0 0 0 30px;
}

.job_list li p {
 font-size: 18px;
}

.contact {
max-width: 94%;
margin: 0 auto 150px;
}

.access h2 {
margin-bottom: 50px;
}

.access_text .ttl {
font-size: 24px;
}

.access_text .address {
font-size: 16px;
}

.access_text .open {
font-size: 16px;
}

.access_text .catchcopy {
font-size: 22px;
}

}

@media screen and (max-width: 1240px) {
header .tel img {
width: 250px;
}

.important{
padding: 0 0 75px;
}

.important_list {
max-width: 100%;
margin: 75px auto 0;
}

.important_list li .bg {
min-height: 180px;
 padding: 60px 20px 20px;
}

.balloon .balloon03 {
width: 30%;
}

.voice{
margin: 0 auto 100px;
    }
	
.vision{
margin: 0 auto 100px;
    }
	
.faq .faq_list {
    max-width: 94%;
	}
	
.contact{
margin: 0 auto 100px;
}
	
.contact .arrow span {
    background-size: 40px auto;
    padding: 10px 50px 10px 0;
    font-size: 24px;
}

.contact .contact_area {
margin: 0 auto;
padding: 40px 50px;
max-width: 980px;
}

.contact .contact_area .tel{
padding: 10px 0;
width: 50%;
}

.contact .contact_area .btn{
width: 40%;
}

.btn a{
font-size:20px;
}

.access {
    max-width: 94%;
    margin: 0 auto 75px;
}
	
}
	
@media screen and (max-width: 1080px) {
.catch {
max-width: 94%;
padding: 50px 0;
    }

.catch h2 {
font-size: 36px;
    }
	
.catch p {
font-size: 20px;
line-height: 2;
    }
	
.message {
margin: 50px auto;
background-size: 30% auto;
    }
	
.message .flex {
padding: 120px 0 50px;
    }
	
h2 {
font-size: 32px;
    }
	
.message .message_text p {
font-size: 16px;
    }
	
.important {
margin: 50px auto;
padding: 0 0 50px;
    }
	
.important_list li h3 {
font-size: 18px;
}
	
.important_list li p {
font-size: 16px;
    }
	
.personality .cnt {
background-size: 100% auto;
}

.balloon {
margin: 0 auto 50px;
    }
	
.balloon .balloon02 {
    padding-top: 225px;
}

.vision .vision_l p {
font-size: 16px;
}

.faq h2 {
margin-bottom: 40px;
}

.faq .faq_list dt {
font-size: 20px;
}

.faq .faq_list dd {
font-size: 20px;
}

.faq .faq_list dd p {
font-size: 16px;
margin-left: 22px;
}

.job{
margin: 0 auto 100px;
}

.job_list li {
font-size: 20px;
background-size: 15px auto;
padding: 0 0 0 20px;
}

.job_list li p {
 font-size: 16px;
}

.access_text .ttl {
font-size: 20px;
    }

.access_img {
    width: 45%;
}

.access_text {
    width: 50%;
}

.access_text .tel {
    width: 250px;
}

.access_text .address {
    padding: 20px 0 20px 100px;
    background-size: 80px auto;
	}
	
.access_text .open {
    padding: 20px 0 20px 100px;
    background-size: 58px auto;
	}

	}
	
@media screen and (max-width: 991px) {
header .mail_btn {
width:110px;
}

header .tel {
margin-right: 120px;
width: 200px;
line-height: 2;
float: right;
padding: 0;
}

.catch h2 {
font-size: 32px;
    }
	
.catch p {
font-size: 16px;
    }
	
.message .message_text {
padding: 0 35px 0 0;
    }	
	
.important_list li {
width: 32%;
}	

.important_list li .bg {
padding: 30px 10px 10px;
min-height: 400px;
}

.important_list li .bg img{
padding: 20px 30px;
}

.important_list li .bg h3{
margin: 0 0 10px;
}

.vision .vision_l .vision_text {
padding: 140px 15% 50px 10px;
    }
	
.access_text .ttl {
text-align: center;
}
	
.access_text .tel {
margin: 0 auto;
    }	
	
.contact .contact_area .btn {
width: 55%;
    }
	
.access_img {
max-width: 500px;
width: 100%;
margin: 0 auto 40px;
text-align: center;
    }
	
.access_text {
width: 100%;
    }
	
/********************************
お問い合わせフォーム
********************************/

.contact_contents{
margin: 0 auto;
padding: 100px 0 50px;
}	


}

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

.sp{
display: block;
}

.catch {
max-width: 94%;
padding: 50px 0 30px;
    }

.catch h2 {
font-size: 28px;
    }
	
h2 {
font-size: 28px;
    }
	
.message .message_text {
width: 100%;
margin-bottom: 20px;
padding: 0;
}

.message_img {
width: 100%;
    }
	
.important_list li {
width: 100%;
    }
	
.important_list li .bg{
min-height: auto;
padding: 30px 10px;
}
	
.important_list li .bg img {
width: 200px;
padding:0 20px;
float: left;
    }
	
.important_list li:nth-child(2) {
    margin-top: 50px;
}

.important_list li:nth-child(3) {
    margin-top: 50px;
}

.important_list li .bg h3{
text-align: left;
}

.vision .vision_l {
width: 90%;
}

.vision .vision_r {
top: -20px;
}

.job h2 {
margin-bottom: 20px;
    }
	
.job_list li {
    width: 100%;
	}
}

@media screen and (max-width: 580px) {
header .logo {
width: 50%;
}

header .tel {
display:none;
    }
	
header .tel_btn{
display: block;
padding:8px 5px 0;
margin-bottom: 5px;
margin-right: 75px;
float: right;
}

header .tel_btn img{
width:35px;
}
	
header .mail_btn {
width: 75px;
    }	

.catch {
padding: 20px 0 0;
text-align: left;
    }
	
.catch h2 {
font-size: 20px;
    }
	
.catch p .sp{
display: none;
}

.message {
margin: 20px auto;
background-size: 50% auto;
    }

.message .flex {
padding: 90px 0 20px;
    }
	
h2 {
font-size: 24px;
text-align: center;
    }
	
.message .message_text p {
font-size:14px;
font-weight:normal;
}

.important_list li .bg {
padding: 30px 20px 20px;
    }

.important_list li .bg img {
width: 200px;
padding:20px;
float: none;
    }
	
.balloon {
margin: 0 auto 20px;
    }
	
.balloon .balloon01 {
    width: 40%;
	padding-top: 0;
    }
	
.balloon .balloon02 {
    width: 40%;
	padding-top: 25px;
    }
	
.balloon .balloon03 {
    width: 40%;
	margin-left: 25%;
    }
	
.voice{
margin: 0 auto 50px;
}
	
.voice li {
    width: 100%;
	padding:20px 0 0 120px; 
}

.voice li:nth-child(2) {
margin-top: -120px;
padding:20px 50px 0 70px; 
}

.voice li:nth-child(3) {
margin-top: -120px;
padding:20px 120px 0 0; 
}

.vision{
margin: 0 auto 50px;
}

.vision .vision_l{
width: 100%;
}

.vision .vision_l .vision_text {
padding: 70px 20px 20px 10px;
background-size: 33% auto;
background-position: left 20px;
    }
	
.vision .vision_l p {
font-size:14px;
font-weight:normal;
}

.vision .vision_r {
    width: 100%;
    position:relative;
    top: 0;
    right: 0;
}

.faq {
margin-bottom: 50px;
    }

.faq h2 {
margin-bottom: 20px;
    }
	
.faq .faq_list{
padding-bottom: 20px;
}
	
.faq .faq_list dt {
margin-top: 20px;
padding: 20px 10px;
font-size: 18px;
    }
	
.faq .faq_list dd {
padding: 20px 10px;
font-size: 18px;
line-height: 1.5;
    }
	
.faq .faq_list dd p{
margin:10px 0 0 20px;
font-size: 14px;
    }
	
.job {
margin: 0 auto 50px;
    }

.job_list li {
font-size: 18px;
    }
	
.job_list li p {
font-size: 14px;
    }
	
.contact {
margin: 0 auto 50px;
    }
	
.contact h2{
font-size:20px;
}

.contact .arrow span {
background-size: 30px auto;
padding: 10px 40px 10px 0;
font-size: 18px;
    }
	
.contact .contact_area {
padding: 20px 20px;
}
	
.contact .contact_area .tel {
padding:0 40px 10px;
width: 100%;
    }
	
.contact .contact_area .btn {
width:90%;
margin: 0 auto;
    }
	
.btn.mail a {
    background-size: 25px auto, 15px auto;
}
	
.btn a {
    padding: 18px 60px;
	font-size:18px;
	background-size:15px auto;
	}
	
.access h2 {
margin-bottom: 20px;
    }

.access_img .btn {
width:90%;
margin: 20px auto;
}

.access_text .address {
background: url(../img/footer_address.png) left 10px no-repeat;
background-size: auto 18px;
font-size: 14px;
padding: 35px 0 10px;
    }
	
.access_text .open {
background: url(../img/footer_open.png) left 10px no-repeat;
background-size: auto 18px;
font-size: 14px;
padding: 35px 0 10px;
    }
	
.access_text .catchcopy {
font-size: 18px;
    }
	
.copyright {
    font-size: 10px;
}

/********************************
お問い合わせフォーム
********************************/
#formWrap {
padding:40px 20px;
}

.contact_dl dt{
width:100%;
padding: 10px 0 0;
border-bottom: none;
}

.contact_dl dd{
width:100%;
padding: 20px 0;
}

.submit_btn{
max-width:100%;
}

.submit_btn input{
width:40%;
padding: 15px 0;
font-size:16px;
}

table.formTable th, table.formTable td {
	width:100% !important;
	display:block;
	border-bottom: none;
}

#formWrap .btn a{
padding: 24px 0 24px;
}

}
